From 14a0afd13f41022c2612f0d652aa92d2307f567d Mon Sep 17 00:00:00 2001 From: lorenz234 Date: Wed, 25 Sep 2024 13:26:50 +0200 Subject: [PATCH 1/3] setup versioning --- data_entry/EAS_schemas.yml | 0 tags/tag_definitions.yml | 18 +----------------- 2 files changed, 1 insertion(+), 17 deletions(-) create mode 100644 data_entry/EAS_schemas.yml diff --git a/data_entry/EAS_schemas.yml b/data_entry/EAS_schemas.yml new file mode 100644 index 0000000..e69de29 diff --git a/tags/tag_definitions.yml b/tags/tag_definitions.yml index 561f318..db6a99f 100644 --- a/tags/tag_definitions.yml +++ b/tags/tag_definitions.yml @@ -1,10 +1,10 @@ +version: 1.0.0 tags: - tag_id: oli.name name: Name description: This tag refers to the fundamental descriptor that provides a clear and immediate understanding of an address's purpose or role. It should offer a straightforward one-word detailed definition into the functionality of the address. For example, the Uniswap router contract would have the name = 'router'. type: string(40) creator: OLI - version: 1.0 - tag_id: oli.is_eoa name: Is EOA @@ -12,7 +12,6 @@ tags: type: boolean value_set: [true, false] creator: OLI - version: 1.0 - tag_id: oli.is_contract name: Is Contract @@ -20,7 +19,6 @@ tags: type: boolean value_set: [true, false] creator: OLI - version: 1.0 - tag_id: oli.is_factory_contract name: Is Factory Contract @@ -28,21 +26,18 @@ tags: type: boolean value_set: [true, false] creator: OLI - version: 1.0 - tag_id: oli.deployment_tx name: Deployment Transaction description: The transaction that deployed the contract. type: bytea creator: OLI - version: 1.0 - tag_id: oli.deployer_address name: Deployer Address description: The address that deployed the contract. type: bytea creator: OLI - version: 1.0 - tag_id: oli.owner_project name: Owner Project @@ -50,14 +45,12 @@ tags: type: string value_set: https://github.com/opensource-observer/oss-directory creator: OLI - version: 1.0 - tag_id: oli.deployment_date name: Deployment Date description: The date the contract was deployed. type: date creator: OLI - version: 1.0 - tag_id: oli.is_proxy name: Is Proxy @@ -65,7 +58,6 @@ tags: type: boolean value_set: [true, false] creator: OLI - version: 1.0 - tag_id: oli.is_safe_contract name: Is Safe Contract @@ -73,7 +65,6 @@ tags: type: boolean value_set: [true, false] creator: OLI - version: 1.0 - tag_id: oli.erc_type name: ERC Type @@ -81,14 +72,12 @@ tags: type: string value_set: [ERC20, ERC721, ERC777, ERC1155, ERC1400, ERC1404, ERC1594, ERC1643, ERC1644, ERC173, ERC1820, ERC223, ERC621, ERC677, ERC777, ERC827, ERC884, ERC918, ERC948, ERC965, ERC998, ERC1155, ERC1400, ERC1404, ERC1594, ERC1643, ERC1644, ERC173, ERC1820, ERC223, ERC621, ERC677, ERC777, ERC827, ERC884, ERC918, ERC948, ERC965, ERC998] creator: OLI - version: 1.0 - tag_id: oli.erc20_name name: ERC20 Name description: The name of the ERC20 token. type: string creator: OLI - version: 1.0 - tag_id: oli.usage_category name: Usage Category @@ -96,35 +85,30 @@ tags: type: string value_set: https://github.com/openlabelsinitiative/OLI/blob/main/valuesets/category_definitions.yml creator: OLI - version: 1.0 - tag_id: oli.version name: Version description: The release version of the dApp (i.e. 2 for Uniswap v2 contracts). type: int creator: OLI - version: 1.0 - tag_id: oli.audit name: Audit description: Link to information on security audit or audit report. type: string creator: OLI - version: 1.0 - tag_id: oli.contract_monitored name: Smart Contract Monitoring description: Link to information on whether the contract is actively monitored by smart contract monitoring services. type: string creator: OLI - version: 1.0 - tag_id: oli.source_code_verified name: Verified Source Code description: Link to verified source code, e.g., through a source code verification service or block explorer. type: string creator: OLI - version: 1.0 From 3ffac45082bb2ccec08421cb8ebecf1ac18bf2b2 Mon Sep 17 00:00:00 2001 From: lorenz234 Date: Wed, 2 Oct 2024 10:39:42 +0200 Subject: [PATCH 2/3] EAS-ownable-resolver --- .../contracts/access/Ownable.sol | 100 + .../@openzeppelin/contracts/utils/Context.sol | 28 + .../@openzeppelin/contracts/utils/Strings.sol | 94 + .../contracts/utils/math/Math.sol | 415 + .../contracts/utils/math/SignedMath.sol | 43 + data_entry/ownable-resolver/EAS/Common.sol | 44 + data_entry/ownable-resolver/EAS/IEAS.sol | 370 + .../ownable-resolver/EAS/ISchemaRegistry.sol | 37 + .../ownable-resolver/EAS/ISchemaResolver.sol | 42 + data_entry/ownable-resolver/EAS/ISemver.sol | 11 + .../ownable-resolver/EAS/SchemaResolver.sol | 156 + data_entry/ownable-resolver/EAS/Semver.sol | 39 + .../EAS/artifacts/ISemver.json | 70 + .../EAS/artifacts/ISemver_metadata.json | 71 + .../3b0c51886aacd0891064034e15191e8e.json | 841 + .../91f5e85fa8c0309bb08e7e85a31b1ed6.json | 234 + .../artifacts/OwnerRecipientResolver.json | 7866 ++ .../OwnerRecipientResolver_metadata.json | 567 + .../be62ebfe77aadf5d6d5daf6ae4eb3f76.json | 71430 ++++++++++++++++ .../ownable-resolver/ownable-resolver.sol | 63 + .../scripts/etherscan/receiptGuidScript.ts | 9 + 21 files changed, 82530 insertions(+) create mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/access/Ownable.sol create mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Context.sol create mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Strings.sol create mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/Math.sol create mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/SignedMath.sol create mode 100644 data_entry/ownable-resolver/EAS/Common.sol create mode 100644 data_entry/ownable-resolver/EAS/IEAS.sol create mode 100644 data_entry/ownable-resolver/EAS/ISchemaRegistry.sol create mode 100644 data_entry/ownable-resolver/EAS/ISchemaResolver.sol create mode 100644 data_entry/ownable-resolver/EAS/ISemver.sol create mode 100644 data_entry/ownable-resolver/EAS/SchemaResolver.sol create mode 100644 data_entry/ownable-resolver/EAS/Semver.sol create mode 100644 data_entry/ownable-resolver/EAS/artifacts/ISemver.json create mode 100644 data_entry/ownable-resolver/EAS/artifacts/ISemver_metadata.json create mode 100644 data_entry/ownable-resolver/EAS/artifacts/build-info/3b0c51886aacd0891064034e15191e8e.json create mode 100644 data_entry/ownable-resolver/EAS/artifacts/build-info/91f5e85fa8c0309bb08e7e85a31b1ed6.json create mode 100644 data_entry/ownable-resolver/artifacts/OwnerRecipientResolver.json create mode 100644 data_entry/ownable-resolver/artifacts/OwnerRecipientResolver_metadata.json create mode 100644 data_entry/ownable-resolver/artifacts/build-info/be62ebfe77aadf5d6d5daf6ae4eb3f76.json create mode 100644 data_entry/ownable-resolver/ownable-resolver.sol create mode 100644 data_entry/ownable-resolver/scripts/etherscan/receiptGuidScript.ts diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/access/Ownable.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/access/Ownable.sol new file mode 100644 index 0000000..bd96f66 --- /dev/null +++ b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/access/Ownable.sol @@ -0,0 +1,100 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) + +pragma solidity ^0.8.20; + +import {Context} from "../utils/Context.sol"; + +/** + * @dev Contract module which provides a basic access control mechanism, where + * there is an account (an owner) that can be granted exclusive access to + * specific functions. + * + * The initial owner is set to the address provided by the deployer. This can + * later be changed with {transferOwnership}. + * + * This module is used through inheritance. It will make available the modifier + * `onlyOwner`, which can be applied to your functions to restrict their use to + * the owner. + */ +abstract contract Ownable is Context { + address private _owner; + + /** + * @dev The caller account is not authorized to perform an operation. + */ + error OwnableUnauthorizedAccount(address account); + + /** + * @dev The owner is not a valid owner account. (eg. `address(0)`) + */ + error OwnableInvalidOwner(address owner); + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + /** + * @dev Initializes the contract setting the address provided by the deployer as the initial owner. + */ + constructor(address initialOwner) { + if (initialOwner == address(0)) { + revert OwnableInvalidOwner(address(0)); + } + _transferOwnership(initialOwner); + } + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() { + _checkOwner(); + _; + } + + /** + * @dev Returns the address of the current owner. + */ + function owner() public view virtual returns (address) { + return _owner; + } + + /** + * @dev Throws if the sender is not the owner. + */ + function _checkOwner() internal view virtual { + if (owner() != _msgSender()) { + revert OwnableUnauthorizedAccount(_msgSender()); + } + } + + /** + * @dev Leaves the contract without owner. It will not be possible to call + * `onlyOwner` functions. Can only be called by the current owner. + * + * NOTE: Renouncing ownership will leave the contract without an owner, + * thereby disabling any functionality that is only available to the owner. + */ + function renounceOwnership() public virtual onlyOwner { + _transferOwnership(address(0)); + } + + /** + * @dev Transfers ownership of the contract to a new account (`newOwner`). + * Can only be called by the current owner. + */ + function transferOwnership(address newOwner) public virtual onlyOwner { + if (newOwner == address(0)) { + revert OwnableInvalidOwner(address(0)); + } + _transferOwnership(newOwner); + } + + /** + * @dev Transfers ownership of the contract to a new account (`newOwner`). + * Internal function without access restriction. + */ + function _transferOwnership(address newOwner) internal virtual { + address oldOwner = _owner; + _owner = newOwner; + emit OwnershipTransferred(oldOwner, newOwner); + } +} diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Context.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Context.sol new file mode 100644 index 0000000..4e535fe --- /dev/null +++ b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Context.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) + +pragma solidity ^0.8.20; + +/** + * @dev Provides information about the current execution context, including the + * sender of the transaction and its data. While these are generally available + * via msg.sender and msg.data, they should not be accessed in such a direct + * manner, since when dealing with meta-transactions the account sending and + * paying for execution may not be the actual sender (as far as an application + * is concerned). + * + * This contract is only required for intermediate, library-like contracts. + */ +abstract contract Context { + function _msgSender() internal view virtual returns (address) { + return msg.sender; + } + + function _msgData() internal view virtual returns (bytes calldata) { + return msg.data; + } + + function _contextSuffixLength() internal view virtual returns (uint256) { + return 0; + } +} diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Strings.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Strings.sol new file mode 100644 index 0000000..b2c0a40 --- /dev/null +++ b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Strings.sol @@ -0,0 +1,94 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol) + +pragma solidity ^0.8.20; + +import {Math} from "./math/Math.sol"; +import {SignedMath} from "./math/SignedMath.sol"; + +/** + * @dev String operations. + */ +library Strings { + bytes16 private constant HEX_DIGITS = "0123456789abcdef"; + uint8 private constant ADDRESS_LENGTH = 20; + + /** + * @dev The `value` string doesn't fit in the specified `length`. + */ + error StringsInsufficientHexLength(uint256 value, uint256 length); + + /** + * @dev Converts a `uint256` to its ASCII `string` decimal representation. + */ + function toString(uint256 value) internal pure returns (string memory) { + unchecked { + uint256 length = Math.log10(value) + 1; + string memory buffer = new string(length); + uint256 ptr; + /// @solidity memory-safe-assembly + assembly { + ptr := add(buffer, add(32, length)) + } + while (true) { + ptr--; + /// @solidity memory-safe-assembly + assembly { + mstore8(ptr, byte(mod(value, 10), HEX_DIGITS)) + } + value /= 10; + if (value == 0) break; + } + return buffer; + } + } + + /** + * @dev Converts a `int256` to its ASCII `string` decimal representation. + */ + function toStringSigned(int256 value) internal pure returns (string memory) { + return string.concat(value < 0 ? "-" : "", toString(SignedMath.abs(value))); + } + + /** + * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. + */ + function toHexString(uint256 value) internal pure returns (string memory) { + unchecked { + return toHexString(value, Math.log256(value) + 1); + } + } + + /** + * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. + */ + function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { + uint256 localValue = value; + bytes memory buffer = new bytes(2 * length + 2); + buffer[0] = "0"; + buffer[1] = "x"; + for (uint256 i = 2 * length + 1; i > 1; --i) { + buffer[i] = HEX_DIGITS[localValue & 0xf]; + localValue >>= 4; + } + if (localValue != 0) { + revert StringsInsufficientHexLength(value, length); + } + return string(buffer); + } + + /** + * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal + * representation. + */ + function toHexString(address addr) internal pure returns (string memory) { + return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH); + } + + /** + * @dev Returns true if the two strings are equal. + */ + function equal(string memory a, string memory b) internal pure returns (bool) { + return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b)); + } +} diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/Math.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/Math.sol new file mode 100644 index 0000000..9681524 --- /dev/null +++ b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/Math.sol @@ -0,0 +1,415 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol) + +pragma solidity ^0.8.20; + +/** + * @dev Standard math utilities missing in the Solidity language. + */ +library Math { + /** + * @dev Muldiv operation overflow. + */ + error MathOverflowedMulDiv(); + + enum Rounding { + Floor, // Toward negative infinity + Ceil, // Toward positive infinity + Trunc, // Toward zero + Expand // Away from zero + } + + /** + * @dev Returns the addition of two unsigned integers, with an overflow flag. + */ + function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + uint256 c = a + b; + if (c < a) return (false, 0); + return (true, c); + } + } + + /** + * @dev Returns the subtraction of two unsigned integers, with an overflow flag. + */ + function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + if (b > a) return (false, 0); + return (true, a - b); + } + } + + /** + * @dev Returns the multiplication of two unsigned integers, with an overflow flag. + */ + function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + // Gas optimization: this is cheaper than requiring 'a' not being zero, but the + // benefit is lost if 'b' is also tested. + // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 + if (a == 0) return (true, 0); + uint256 c = a * b; + if (c / a != b) return (false, 0); + return (true, c); + } + } + + /** + * @dev Returns the division of two unsigned integers, with a division by zero flag. + */ + function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + if (b == 0) return (false, 0); + return (true, a / b); + } + } + + /** + * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. + */ + function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + if (b == 0) return (false, 0); + return (true, a % b); + } + } + + /** + * @dev Returns the largest of two numbers. + */ + function max(uint256 a, uint256 b) internal pure returns (uint256) { + return a > b ? a : b; + } + + /** + * @dev Returns the smallest of two numbers. + */ + function min(uint256 a, uint256 b) internal pure returns (uint256) { + return a < b ? a : b; + } + + /** + * @dev Returns the average of two numbers. The result is rounded towards + * zero. + */ + function average(uint256 a, uint256 b) internal pure returns (uint256) { + // (a + b) / 2 can overflow. + return (a & b) + (a ^ b) / 2; + } + + /** + * @dev Returns the ceiling of the division of two numbers. + * + * This differs from standard division with `/` in that it rounds towards infinity instead + * of rounding towards zero. + */ + function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) { + if (b == 0) { + // Guarantee the same behavior as in a regular Solidity division. + return a / b; + } + + // (a + b - 1) / b can overflow on addition, so we distribute. + return a == 0 ? 0 : (a - 1) / b + 1; + } + + /** + * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or + * denominator == 0. + * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by + * Uniswap Labs also under MIT license. + */ + function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) { + unchecked { + // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use + // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256 + // variables such that product = prod1 * 2^256 + prod0. + uint256 prod0 = x * y; // Least significant 256 bits of the product + uint256 prod1; // Most significant 256 bits of the product + assembly { + let mm := mulmod(x, y, not(0)) + prod1 := sub(sub(mm, prod0), lt(mm, prod0)) + } + + // Handle non-overflow cases, 256 by 256 division. + if (prod1 == 0) { + // Solidity will revert if denominator == 0, unlike the div opcode on its own. + // The surrounding unchecked block does not change this fact. + // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic. + return prod0 / denominator; + } + + // Make sure the result is less than 2^256. Also prevents denominator == 0. + if (denominator <= prod1) { + revert MathOverflowedMulDiv(); + } + + /////////////////////////////////////////////// + // 512 by 256 division. + /////////////////////////////////////////////// + + // Make division exact by subtracting the remainder from [prod1 prod0]. + uint256 remainder; + assembly { + // Compute remainder using mulmod. + remainder := mulmod(x, y, denominator) + + // Subtract 256 bit number from 512 bit number. + prod1 := sub(prod1, gt(remainder, prod0)) + prod0 := sub(prod0, remainder) + } + + // Factor powers of two out of denominator and compute largest power of two divisor of denominator. + // Always >= 1. See https://cs.stackexchange.com/q/138556/92363. + + uint256 twos = denominator & (0 - denominator); + assembly { + // Divide denominator by twos. + denominator := div(denominator, twos) + + // Divide [prod1 prod0] by twos. + prod0 := div(prod0, twos) + + // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one. + twos := add(div(sub(0, twos), twos), 1) + } + + // Shift in bits from prod1 into prod0. + prod0 |= prod1 * twos; + + // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such + // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for + // four bits. That is, denominator * inv = 1 mod 2^4. + uint256 inverse = (3 * denominator) ^ 2; + + // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also + // works in modular arithmetic, doubling the correct bits in each step. + inverse *= 2 - denominator * inverse; // inverse mod 2^8 + inverse *= 2 - denominator * inverse; // inverse mod 2^16 + inverse *= 2 - denominator * inverse; // inverse mod 2^32 + inverse *= 2 - denominator * inverse; // inverse mod 2^64 + inverse *= 2 - denominator * inverse; // inverse mod 2^128 + inverse *= 2 - denominator * inverse; // inverse mod 2^256 + + // Because the division is now exact we can divide by multiplying with the modular inverse of denominator. + // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is + // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1 + // is no longer required. + result = prod0 * inverse; + return result; + } + } + + /** + * @notice Calculates x * y / denominator with full precision, following the selected rounding direction. + */ + function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) { + uint256 result = mulDiv(x, y, denominator); + if (unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0) { + result += 1; + } + return result; + } + + /** + * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded + * towards zero. + * + * Inspired by Henry S. Warren, Jr.'s "Hacker's Delight" (Chapter 11). + */ + function sqrt(uint256 a) internal pure returns (uint256) { + if (a == 0) { + return 0; + } + + // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target. + // + // We know that the "msb" (most significant bit) of our target number `a` is a power of 2 such that we have + // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`. + // + // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)` + // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))` + // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)` + // + // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit. + uint256 result = 1 << (log2(a) >> 1); + + // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128, + // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at + // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision + // into the expected uint128 result. + unchecked { + result = (result + a / result) >> 1; + result = (result + a / result) >> 1; + result = (result + a / result) >> 1; + result = (result + a / result) >> 1; + result = (result + a / result) >> 1; + result = (result + a / result) >> 1; + result = (result + a / result) >> 1; + return min(result, a / result); + } + } + + /** + * @notice Calculates sqrt(a), following the selected rounding direction. + */ + function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) { + unchecked { + uint256 result = sqrt(a); + return result + (unsignedRoundsUp(rounding) && result * result < a ? 1 : 0); + } + } + + /** + * @dev Return the log in base 2 of a positive value rounded towards zero. + * Returns 0 if given 0. + */ + function log2(uint256 value) internal pure returns (uint256) { + uint256 result = 0; + unchecked { + if (value >> 128 > 0) { + value >>= 128; + result += 128; + } + if (value >> 64 > 0) { + value >>= 64; + result += 64; + } + if (value >> 32 > 0) { + value >>= 32; + result += 32; + } + if (value >> 16 > 0) { + value >>= 16; + result += 16; + } + if (value >> 8 > 0) { + value >>= 8; + result += 8; + } + if (value >> 4 > 0) { + value >>= 4; + result += 4; + } + if (value >> 2 > 0) { + value >>= 2; + result += 2; + } + if (value >> 1 > 0) { + result += 1; + } + } + return result; + } + + /** + * @dev Return the log in base 2, following the selected rounding direction, of a positive value. + * Returns 0 if given 0. + */ + function log2(uint256 value, Rounding rounding) internal pure returns (uint256) { + unchecked { + uint256 result = log2(value); + return result + (unsignedRoundsUp(rounding) && 1 << result < value ? 1 : 0); + } + } + + /** + * @dev Return the log in base 10 of a positive value rounded towards zero. + * Returns 0 if given 0. + */ + function log10(uint256 value) internal pure returns (uint256) { + uint256 result = 0; + unchecked { + if (value >= 10 ** 64) { + value /= 10 ** 64; + result += 64; + } + if (value >= 10 ** 32) { + value /= 10 ** 32; + result += 32; + } + if (value >= 10 ** 16) { + value /= 10 ** 16; + result += 16; + } + if (value >= 10 ** 8) { + value /= 10 ** 8; + result += 8; + } + if (value >= 10 ** 4) { + value /= 10 ** 4; + result += 4; + } + if (value >= 10 ** 2) { + value /= 10 ** 2; + result += 2; + } + if (value >= 10 ** 1) { + result += 1; + } + } + return result; + } + + /** + * @dev Return the log in base 10, following the selected rounding direction, of a positive value. + * Returns 0 if given 0. + */ + function log10(uint256 value, Rounding rounding) internal pure returns (uint256) { + unchecked { + uint256 result = log10(value); + return result + (unsignedRoundsUp(rounding) && 10 ** result < value ? 1 : 0); + } + } + + /** + * @dev Return the log in base 256 of a positive value rounded towards zero. + * Returns 0 if given 0. + * + * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string. + */ + function log256(uint256 value) internal pure returns (uint256) { + uint256 result = 0; + unchecked { + if (value >> 128 > 0) { + value >>= 128; + result += 16; + } + if (value >> 64 > 0) { + value >>= 64; + result += 8; + } + if (value >> 32 > 0) { + value >>= 32; + result += 4; + } + if (value >> 16 > 0) { + value >>= 16; + result += 2; + } + if (value >> 8 > 0) { + result += 1; + } + } + return result; + } + + /** + * @dev Return the log in base 256, following the selected rounding direction, of a positive value. + * Returns 0 if given 0. + */ + function log256(uint256 value, Rounding rounding) internal pure returns (uint256) { + unchecked { + uint256 result = log256(value); + return result + (unsignedRoundsUp(rounding) && 1 << (result << 3) < value ? 1 : 0); + } + } + + /** + * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers. + */ + function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) { + return uint8(rounding) % 2 == 1; + } +} diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/SignedMath.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/SignedMath.sol new file mode 100644 index 0000000..66a6151 --- /dev/null +++ b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/SignedMath.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SignedMath.sol) + +pragma solidity ^0.8.20; + +/** + * @dev Standard signed math utilities missing in the Solidity language. + */ +library SignedMath { + /** + * @dev Returns the largest of two signed numbers. + */ + function max(int256 a, int256 b) internal pure returns (int256) { + return a > b ? a : b; + } + + /** + * @dev Returns the smallest of two signed numbers. + */ + function min(int256 a, int256 b) internal pure returns (int256) { + return a < b ? a : b; + } + + /** + * @dev Returns the average of two signed numbers without overflow. + * The result is rounded towards zero. + */ + function average(int256 a, int256 b) internal pure returns (int256) { + // Formula from the book "Hacker's Delight" + int256 x = (a & b) + ((a ^ b) >> 1); + return x + (int256(uint256(x) >> 255) & (a ^ b)); + } + + /** + * @dev Returns the absolute unsigned value of a signed value. + */ + function abs(int256 n) internal pure returns (uint256) { + unchecked { + // must be unchecked in order to support `n = type(int256).min` + return uint256(n >= 0 ? n : -n); + } + } +} diff --git a/data_entry/ownable-resolver/EAS/Common.sol b/data_entry/ownable-resolver/EAS/Common.sol new file mode 100644 index 0000000..613831e --- /dev/null +++ b/data_entry/ownable-resolver/EAS/Common.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.0; + +// A representation of an empty/uninitialized UID. +bytes32 constant EMPTY_UID = 0; + +// A zero expiration represents an non-expiring attestation. +uint64 constant NO_EXPIRATION_TIME = 0; + +error AccessDenied(); +error DeadlineExpired(); +error InvalidEAS(); +error InvalidLength(); +error InvalidSignature(); +error NotFound(); + +/// @notice A struct representing ECDSA signature data. +struct Signature { + uint8 v; // The recovery ID. + bytes32 r; // The x-coordinate of the nonce R. + bytes32 s; // The signature data. +} + +/// @notice A struct representing a single attestation. +struct Attestation { + bytes32 uid; // A unique identifier of the attestation. + bytes32 schema; // The unique identifier of the schema. + uint64 time; // The time when the attestation was created (Unix timestamp). + uint64 expirationTime; // The time when the attestation expires (Unix timestamp). + uint64 revocationTime; // The time when the attestation was revoked (Unix timestamp). + bytes32 refUID; // The UID of the related attestation. + address recipient; // The recipient of the attestation. + address attester; // The attester/sender of the attestation. + bool revocable; // Whether the attestation is revocable. + bytes data; // Custom attestation data. +} + +/// @notice A helper function to work with unchecked iterators in loops. +function uncheckedInc(uint256 i) pure returns (uint256 j) { + unchecked { + j = i + 1; + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/IEAS.sol b/data_entry/ownable-resolver/EAS/IEAS.sol new file mode 100644 index 0000000..830f0f5 --- /dev/null +++ b/data_entry/ownable-resolver/EAS/IEAS.sol @@ -0,0 +1,370 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.0; + +import { ISchemaRegistry } from "./ISchemaRegistry.sol"; +import { ISemver } from "./ISemver.sol"; +import { Attestation, Signature } from "./Common.sol"; + +/// @notice A struct representing the arguments of the attestation request. +struct AttestationRequestData { + address recipient; // The recipient of the attestation. + uint64 expirationTime; // The time when the attestation expires (Unix timestamp). + bool revocable; // Whether the attestation is revocable. + bytes32 refUID; // The UID of the related attestation. + bytes data; // Custom attestation data. + uint256 value; // An explicit ETH amount to send to the resolver. This is important to prevent accidental user errors. +} + +/// @notice A struct representing the full arguments of the attestation request. +struct AttestationRequest { + bytes32 schema; // The unique identifier of the schema. + AttestationRequestData data; // The arguments of the attestation request. +} + +/// @notice A struct representing the full arguments of the full delegated attestation request. +struct DelegatedAttestationRequest { + bytes32 schema; // The unique identifier of the schema. + AttestationRequestData data; // The arguments of the attestation request. + Signature signature; // The ECDSA signature data. + address attester; // The attesting account. + uint64 deadline; // The deadline of the signature/request. +} + +/// @notice A struct representing the full arguments of the multi attestation request. +struct MultiAttestationRequest { + bytes32 schema; // The unique identifier of the schema. + AttestationRequestData[] data; // The arguments of the attestation request. +} + +/// @notice A struct representing the full arguments of the delegated multi attestation request. +struct MultiDelegatedAttestationRequest { + bytes32 schema; // The unique identifier of the schema. + AttestationRequestData[] data; // The arguments of the attestation requests. + Signature[] signatures; // The ECDSA signatures data. Please note that the signatures are assumed to be signed with increasing nonces. + address attester; // The attesting account. + uint64 deadline; // The deadline of the signature/request. +} + +/// @notice A struct representing the arguments of the revocation request. +struct RevocationRequestData { + bytes32 uid; // The UID of the attestation to revoke. + uint256 value; // An explicit ETH amount to send to the resolver. This is important to prevent accidental user errors. +} + +/// @notice A struct representing the full arguments of the revocation request. +struct RevocationRequest { + bytes32 schema; // The unique identifier of the schema. + RevocationRequestData data; // The arguments of the revocation request. +} + +/// @notice A struct representing the arguments of the full delegated revocation request. +struct DelegatedRevocationRequest { + bytes32 schema; // The unique identifier of the schema. + RevocationRequestData data; // The arguments of the revocation request. + Signature signature; // The ECDSA signature data. + address revoker; // The revoking account. + uint64 deadline; // The deadline of the signature/request. +} + +/// @notice A struct representing the full arguments of the multi revocation request. +struct MultiRevocationRequest { + bytes32 schema; // The unique identifier of the schema. + RevocationRequestData[] data; // The arguments of the revocation request. +} + +/// @notice A struct representing the full arguments of the delegated multi revocation request. +struct MultiDelegatedRevocationRequest { + bytes32 schema; // The unique identifier of the schema. + RevocationRequestData[] data; // The arguments of the revocation requests. + Signature[] signatures; // The ECDSA signatures data. Please note that the signatures are assumed to be signed with increasing nonces. + address revoker; // The revoking account. + uint64 deadline; // The deadline of the signature/request. +} + +/// @title IEAS +/// @notice EAS - Ethereum Attestation Service interface. +interface IEAS is ISemver { + /// @notice Emitted when an attestation has been made. + /// @param recipient The recipient of the attestation. + /// @param attester The attesting account. + /// @param uid The UID of the new attestation. + /// @param schemaUID The UID of the schema. + event Attested(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schemaUID); + + /// @notice Emitted when an attestation has been revoked. + /// @param recipient The recipient of the attestation. + /// @param attester The attesting account. + /// @param schemaUID The UID of the schema. + /// @param uid The UID the revoked attestation. + event Revoked(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schemaUID); + + /// @notice Emitted when a data has been timestamped. + /// @param data The data. + /// @param timestamp The timestamp. + event Timestamped(bytes32 indexed data, uint64 indexed timestamp); + + /// @notice Emitted when a data has been revoked. + /// @param revoker The address of the revoker. + /// @param data The data. + /// @param timestamp The timestamp. + event RevokedOffchain(address indexed revoker, bytes32 indexed data, uint64 indexed timestamp); + + /// @notice Returns the address of the global schema registry. + /// @return The address of the global schema registry. + function getSchemaRegistry() external view returns (ISchemaRegistry); + + /// @notice Attests to a specific schema. + /// @param request The arguments of the attestation request. + /// @return The UID of the new attestation. + /// + /// Example: + /// attest({ + /// schema: "0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0", + /// data: { + /// recipient: "0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf", + /// expirationTime: 0, + /// revocable: true, + /// refUID: "0x0000000000000000000000000000000000000000000000000000000000000000", + /// data: "0xF00D", + /// value: 0 + /// } + /// }) + function attest(AttestationRequest calldata request) external payable returns (bytes32); + + /// @notice Attests to a specific schema via the provided ECDSA signature. + /// @param delegatedRequest The arguments of the delegated attestation request. + /// @return The UID of the new attestation. + /// + /// Example: + /// attestByDelegation({ + /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', + /// data: { + /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + /// expirationTime: 1673891048, + /// revocable: true, + /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', + /// data: '0x1234', + /// value: 0 + /// }, + /// signature: { + /// v: 28, + /// r: '0x148c...b25b', + /// s: '0x5a72...be22' + /// }, + /// attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e', + /// deadline: 1673891048 + /// }) + function attestByDelegation( + DelegatedAttestationRequest calldata delegatedRequest + ) external payable returns (bytes32); + + /// @notice Attests to multiple schemas. + /// @param multiRequests The arguments of the multi attestation requests. The requests should be grouped by distinct + /// schema ids to benefit from the best batching optimization. + /// @return The UIDs of the new attestations. + /// + /// Example: + /// multiAttest([{ + /// schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd', + /// data: [{ + /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', + /// expirationTime: 1673891048, + /// revocable: true, + /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', + /// data: '0x1234', + /// value: 1000 + /// }, + /// { + /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + /// expirationTime: 0, + /// revocable: false, + /// refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174', + /// data: '0x00', + /// value: 0 + /// }], + /// }, + /// { + /// schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', + /// data: [{ + /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', + /// expirationTime: 0, + /// revocable: true, + /// refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f', + /// data: '0x12345678', + /// value: 0 + /// }, + /// }]) + function multiAttest(MultiAttestationRequest[] calldata multiRequests) external payable returns (bytes32[] memory); + + /// @notice Attests to multiple schemas using via provided ECDSA signatures. + /// @param multiDelegatedRequests The arguments of the delegated multi attestation requests. The requests should be + /// grouped by distinct schema ids to benefit from the best batching optimization. + /// @return The UIDs of the new attestations. + /// + /// Example: + /// multiAttestByDelegation([{ + /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', + /// data: [{ + /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + /// expirationTime: 1673891048, + /// revocable: true, + /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', + /// data: '0x1234', + /// value: 0 + /// }, + /// { + /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', + /// expirationTime: 0, + /// revocable: false, + /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', + /// data: '0x00', + /// value: 0 + /// }], + /// signatures: [{ + /// v: 28, + /// r: '0x148c...b25b', + /// s: '0x5a72...be22' + /// }, + /// { + /// v: 28, + /// r: '0x487s...67bb', + /// s: '0x12ad...2366' + /// }], + /// attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4', + /// deadline: 1673891048 + /// }]) + function multiAttestByDelegation( + MultiDelegatedAttestationRequest[] calldata multiDelegatedRequests + ) external payable returns (bytes32[] memory); + + /// @notice Revokes an existing attestation to a specific schema. + /// @param request The arguments of the revocation request. + /// + /// Example: + /// revoke({ + /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', + /// data: { + /// uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d', + /// value: 0 + /// } + /// }) + function revoke(RevocationRequest calldata request) external payable; + + /// @notice Revokes an existing attestation to a specific schema via the provided ECDSA signature. + /// @param delegatedRequest The arguments of the delegated revocation request. + /// + /// Example: + /// revokeByDelegation({ + /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', + /// data: { + /// uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba', + /// value: 0 + /// }, + /// signature: { + /// v: 27, + /// r: '0xb593...7142', + /// s: '0x0f5b...2cce' + /// }, + /// revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', + /// deadline: 1673891048 + /// }) + function revokeByDelegation(DelegatedRevocationRequest calldata delegatedRequest) external payable; + + /// @notice Revokes existing attestations to multiple schemas. + /// @param multiRequests The arguments of the multi revocation requests. The requests should be grouped by distinct + /// schema ids to benefit from the best batching optimization. + /// + /// Example: + /// multiRevoke([{ + /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', + /// data: [{ + /// uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', + /// value: 1000 + /// }, + /// { + /// uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', + /// value: 0 + /// }], + /// }, + /// { + /// schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', + /// data: [{ + /// uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019', + /// value: 0 + /// }, + /// }]) + function multiRevoke(MultiRevocationRequest[] calldata multiRequests) external payable; + + /// @notice Revokes existing attestations to multiple schemas via provided ECDSA signatures. + /// @param multiDelegatedRequests The arguments of the delegated multi revocation attestation requests. The requests + /// should be grouped by distinct schema ids to benefit from the best batching optimization. + /// + /// Example: + /// multiRevokeByDelegation([{ + /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', + /// data: [{ + /// uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', + /// value: 1000 + /// }, + /// { + /// uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', + /// value: 0 + /// }], + /// signatures: [{ + /// v: 28, + /// r: '0x148c...b25b', + /// s: '0x5a72...be22' + /// }, + /// { + /// v: 28, + /// r: '0x487s...67bb', + /// s: '0x12ad...2366' + /// }], + /// revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', + /// deadline: 1673891048 + /// }]) + function multiRevokeByDelegation( + MultiDelegatedRevocationRequest[] calldata multiDelegatedRequests + ) external payable; + + /// @notice Timestamps the specified bytes32 data. + /// @param data The data to timestamp. + /// @return The timestamp the data was timestamped with. + function timestamp(bytes32 data) external returns (uint64); + + /// @notice Timestamps the specified multiple bytes32 data. + /// @param data The data to timestamp. + /// @return The timestamp the data was timestamped with. + function multiTimestamp(bytes32[] calldata data) external returns (uint64); + + /// @notice Revokes the specified bytes32 data. + /// @param data The data to timestamp. + /// @return The timestamp the data was revoked with. + function revokeOffchain(bytes32 data) external returns (uint64); + + /// @notice Revokes the specified multiple bytes32 data. + /// @param data The data to timestamp. + /// @return The timestamp the data was revoked with. + function multiRevokeOffchain(bytes32[] calldata data) external returns (uint64); + + /// @notice Returns an existing attestation by UID. + /// @param uid The UID of the attestation to retrieve. + /// @return The attestation data members. + function getAttestation(bytes32 uid) external view returns (Attestation memory); + + /// @notice Checks whether an attestation exists. + /// @param uid The UID of the attestation to retrieve. + /// @return Whether an attestation exists. + function isAttestationValid(bytes32 uid) external view returns (bool); + + /// @notice Returns the timestamp that the specified data was timestamped with. + /// @param data The data to query. + /// @return The timestamp the data was timestamped with. + function getTimestamp(bytes32 data) external view returns (uint64); + + /// @notice Returns the timestamp that the specified data was timestamped with. + /// @param data The data to query. + /// @return The timestamp the data was timestamped with. + function getRevokeOffchain(address revoker, bytes32 data) external view returns (uint64); +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/ISchemaRegistry.sol b/data_entry/ownable-resolver/EAS/ISchemaRegistry.sol new file mode 100644 index 0000000..756caf2 --- /dev/null +++ b/data_entry/ownable-resolver/EAS/ISchemaRegistry.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.0; + +import { ISemver } from "./ISemver.sol"; + +import { ISchemaResolver } from "./ISchemaResolver.sol"; + +/// @notice A struct representing a record for a submitted schema. +struct SchemaRecord { + bytes32 uid; // The unique identifier of the schema. + ISchemaResolver resolver; // Optional schema resolver. + bool revocable; // Whether the schema allows revocations explicitly. + string schema; // Custom specification of the schema (e.g., an ABI). +} + +/// @title ISchemaRegistry +/// @notice The interface of global attestation schemas for the Ethereum Attestation Service protocol. +interface ISchemaRegistry is ISemver { + /// @notice Emitted when a new schema has been registered + /// @param uid The schema UID. + /// @param registerer The address of the account used to register the schema. + /// @param schema The schema data. + event Registered(bytes32 indexed uid, address indexed registerer, SchemaRecord schema); + + /// @notice Submits and reserves a new schema + /// @param schema The schema data schema. + /// @param resolver An optional schema resolver. + /// @param revocable Whether the schema allows revocations explicitly. + /// @return The UID of the new schema. + function register(string calldata schema, ISchemaResolver resolver, bool revocable) external returns (bytes32); + + /// @notice Returns an existing schema by UID + /// @param uid The UID of the schema to retrieve. + /// @return The schema data members. + function getSchema(bytes32 uid) external view returns (SchemaRecord memory); +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/ISchemaResolver.sol b/data_entry/ownable-resolver/EAS/ISchemaResolver.sol new file mode 100644 index 0000000..8358899 --- /dev/null +++ b/data_entry/ownable-resolver/EAS/ISchemaResolver.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.0; + +import { Attestation } from "./Common.sol"; +import { ISemver } from "./ISemver.sol"; + +/// @title ISchemaResolver +/// @notice The interface of an optional schema resolver. +interface ISchemaResolver is ISemver { + /// @notice Checks if the resolver can be sent ETH. + /// @return Whether the resolver supports ETH transfers. + function isPayable() external pure returns (bool); + + /// @notice Processes an attestation and verifies whether it's valid. + /// @param attestation The new attestation. + /// @return Whether the attestation is valid. + function attest(Attestation calldata attestation) external payable returns (bool); + + /// @notice Processes multiple attestations and verifies whether they are valid. + /// @param attestations The new attestations. + /// @param values Explicit ETH amounts which were sent with each attestation. + /// @return Whether all the attestations are valid. + function multiAttest( + Attestation[] calldata attestations, + uint256[] calldata values + ) external payable returns (bool); + + /// @notice Processes an attestation revocation and verifies if it can be revoked. + /// @param attestation The existing attestation to be revoked. + /// @return Whether the attestation can be revoked. + function revoke(Attestation calldata attestation) external payable returns (bool); + + /// @notice Processes revocation of multiple attestation and verifies they can be revoked. + /// @param attestations The existing attestations to be revoked. + /// @param values Explicit ETH amounts which were sent with each revocation. + /// @return Whether the attestations can be revoked. + function multiRevoke( + Attestation[] calldata attestations, + uint256[] calldata values + ) external payable returns (bool); +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/ISemver.sol b/data_entry/ownable-resolver/EAS/ISemver.sol new file mode 100644 index 0000000..8dadb22 --- /dev/null +++ b/data_entry/ownable-resolver/EAS/ISemver.sol @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.0; + +/// @title ISemver +/// @notice A semver interface. +interface ISemver { + /// @notice Returns the full semver contract version. + /// @return Semver contract version as a string. + function version() external view returns (string memory); +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/SchemaResolver.sol b/data_entry/ownable-resolver/EAS/SchemaResolver.sol new file mode 100644 index 0000000..5b5c94c --- /dev/null +++ b/data_entry/ownable-resolver/EAS/SchemaResolver.sol @@ -0,0 +1,156 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.4; + +import { AccessDenied, InvalidEAS, InvalidLength, uncheckedInc } from "./Common.sol"; +import { IEAS, Attestation } from "./IEAS.sol"; +import { Semver } from "./Semver.sol"; +import { ISchemaResolver } from "./ISchemaResolver.sol"; + +/// @title SchemaResolver +/// @notice The base schema resolver contract. +abstract contract SchemaResolver is ISchemaResolver, Semver { + error InsufficientValue(); + error NotPayable(); + + // The global EAS contract. + IEAS internal immutable _eas; + + /// @dev Creates a new resolver. + /// @param eas The address of the global EAS contract. + constructor(IEAS eas) Semver(1, 3, 0) { + if (address(eas) == address(0)) { + revert InvalidEAS(); + } + + _eas = eas; + } + + /// @dev Ensures that only the EAS contract can make this call. + modifier onlyEAS() { + _onlyEAS(); + + _; + } + + /// @inheritdoc ISchemaResolver + function isPayable() public pure virtual returns (bool) { + return false; + } + + /// @dev ETH callback. + receive() external payable virtual { + if (!isPayable()) { + revert NotPayable(); + } + } + + /// @inheritdoc ISchemaResolver + function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) { + return onAttest(attestation, msg.value); + } + + /// @inheritdoc ISchemaResolver + function multiAttest( + Attestation[] calldata attestations, + uint256[] calldata values + ) external payable onlyEAS returns (bool) { + uint256 length = attestations.length; + if (length != values.length) { + revert InvalidLength(); + } + + // We are keeping track of the remaining ETH amount that can be sent to resolvers and will keep deducting + // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless + // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be + // possible to send too much ETH anyway. + uint256 remainingValue = msg.value; + + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + // Ensure that the attester/revoker doesn't try to spend more than available. + uint256 value = values[i]; + if (value > remainingValue) { + revert InsufficientValue(); + } + + // Forward the attestation to the underlying resolver and return false in case it isn't approved. + if (!onAttest(attestations[i], value)) { + return false; + } + + unchecked { + // Subtract the ETH amount, that was provided to this attestation, from the global remaining ETH amount. + remainingValue -= value; + } + } + + return true; + } + + /// @inheritdoc ISchemaResolver + function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) { + return onRevoke(attestation, msg.value); + } + + /// @inheritdoc ISchemaResolver + function multiRevoke( + Attestation[] calldata attestations, + uint256[] calldata values + ) external payable onlyEAS returns (bool) { + uint256 length = attestations.length; + if (length != values.length) { + revert InvalidLength(); + } + + // We are keeping track of the remaining ETH amount that can be sent to resolvers and will keep deducting + // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless + // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be + // possible to send too much ETH anyway. + uint256 remainingValue = msg.value; + + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + // Ensure that the attester/revoker doesn't try to spend more than available. + uint256 value = values[i]; + if (value > remainingValue) { + revert InsufficientValue(); + } + + // Forward the revocation to the underlying resolver and return false in case it isn't approved. + if (!onRevoke(attestations[i], value)) { + return false; + } + + unchecked { + // Subtract the ETH amount, that was provided to this attestation, from the global remaining ETH amount. + remainingValue -= value; + } + } + + return true; + } + + /// @notice A resolver callback that should be implemented by child contracts. + /// @param attestation The new attestation. + /// @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in + /// both attest() and multiAttest() callbacks EAS-only callbacks and that in case of multi attestations, it'll + /// usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the + /// attestations in the batch. + /// @return Whether the attestation is valid. + function onAttest(Attestation calldata attestation, uint256 value) internal virtual returns (bool); + + /// @notice Processes an attestation revocation and verifies if it can be revoked. + /// @param attestation The existing attestation to be revoked. + /// @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in + /// both revoke() and multiRevoke() callbacks EAS-only callbacks and that in case of multi attestations, it'll + /// usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the + /// attestations in the batch. + /// @return Whether the attestation can be revoked. + function onRevoke(Attestation calldata attestation, uint256 value) internal virtual returns (bool); + + /// @dev Ensures that only the EAS contract can make this call. + function _onlyEAS() private view { + if (msg.sender != address(_eas)) { + revert AccessDenied(); + } + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/Semver.sol b/data_entry/ownable-resolver/EAS/Semver.sol new file mode 100644 index 0000000..28b2a23 --- /dev/null +++ b/data_entry/ownable-resolver/EAS/Semver.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.4; + +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; + +import { ISemver } from "./ISemver.sol"; + +/// @title Semver +/// @notice A simple contract for managing contract versions. +contract Semver is ISemver { + // Contract's major version number. + uint256 private immutable _major; + + // Contract's minor version number. + uint256 private immutable _minor; + + // Contract's patch version number. + uint256 private immutable _patch; + + /// @dev Create a new Semver instance. + /// @param major Major version number. + /// @param minor Minor version number. + /// @param patch Patch version number. + constructor(uint256 major, uint256 minor, uint256 patch) { + _major = major; + _minor = minor; + _patch = patch; + } + + /// @notice Returns the full semver contract version. + /// @return Semver contract version as a string. + function version() external view returns (string memory) { + return + string( + abi.encodePacked(Strings.toString(_major), ".", Strings.toString(_minor), ".", Strings.toString(_patch)) + ); + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/artifacts/ISemver.json b/data_entry/ownable-resolver/EAS/artifacts/ISemver.json new file mode 100644 index 0000000..4627fdb --- /dev/null +++ b/data_entry/ownable-resolver/EAS/artifacts/ISemver.json @@ -0,0 +1,70 @@ +{ + "deploy": { + "VM:-": { + "linkReferences": {}, + "autoDeployLib": true + }, + "main:1": { + "linkReferences": {}, + "autoDeployLib": true + }, + "ropsten:3": { + "linkReferences": {}, + "autoDeployLib": true + }, + "rinkeby:4": { + "linkReferences": {}, + "autoDeployLib": true + }, + "kovan:42": { + "linkReferences": {}, + "autoDeployLib": true + }, + "goerli:5": { + "linkReferences": {}, + "autoDeployLib": true + }, + "Custom": { + "linkReferences": {}, + "autoDeployLib": true + } + }, + "data": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "methodIdentifiers": { + "version()": "54fd4d50" + } + }, + "abi": [ + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/artifacts/ISemver_metadata.json b/data_entry/ownable-resolver/EAS/artifacts/ISemver_metadata.json new file mode 100644 index 0000000..e3d5e91 --- /dev/null +++ b/data_entry/ownable-resolver/EAS/artifacts/ISemver_metadata.json @@ -0,0 +1,71 @@ +{ + "compiler": { + "version": "0.8.26+commit.8a97fa7a" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "ISemver", + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "notice": "A semver interface.", + "version": 1 + } + }, + "settings": { + "compilationTarget": { + "EAS/ISemver.sol": "ISemver" + }, + "evmVersion": "cancun", + "libraries": {}, + "metadata": { + "bytecodeHash": "ipfs" + }, + "optimizer": { + "enabled": false, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "EAS/ISemver.sol": { + "keccak256": "0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf", + "license": "MIT", + "urls": [ + "bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4", + "dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp" + ] + } + }, + "version": 1 +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/artifacts/build-info/3b0c51886aacd0891064034e15191e8e.json b/data_entry/ownable-resolver/EAS/artifacts/build-info/3b0c51886aacd0891064034e15191e8e.json new file mode 100644 index 0000000..a88b96b --- /dev/null +++ b/data_entry/ownable-resolver/EAS/artifacts/build-info/3b0c51886aacd0891064034e15191e8e.json @@ -0,0 +1,841 @@ +{ + "id": "3b0c51886aacd0891064034e15191e8e", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.26", + "solcLongVersion": "0.8.26+commit.8a97fa7a", + "input": { + "language": "Solidity", + "sources": { + "EAS/Common.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n// A representation of an empty/uninitialized UID.\nbytes32 constant EMPTY_UID = 0;\n\n// A zero expiration represents an non-expiring attestation.\nuint64 constant NO_EXPIRATION_TIME = 0;\n\nerror AccessDenied();\nerror DeadlineExpired();\nerror InvalidEAS();\nerror InvalidLength();\nerror InvalidSignature();\nerror NotFound();\n\n/// @notice A struct representing ECDSA signature data.\nstruct Signature {\n uint8 v; // The recovery ID.\n bytes32 r; // The x-coordinate of the nonce R.\n bytes32 s; // The signature data.\n}\n\n/// @notice A struct representing a single attestation.\nstruct Attestation {\n bytes32 uid; // A unique identifier of the attestation.\n bytes32 schema; // The unique identifier of the schema.\n uint64 time; // The time when the attestation was created (Unix timestamp).\n uint64 expirationTime; // The time when the attestation expires (Unix timestamp).\n uint64 revocationTime; // The time when the attestation was revoked (Unix timestamp).\n bytes32 refUID; // The UID of the related attestation.\n address recipient; // The recipient of the attestation.\n address attester; // The attester/sender of the attestation.\n bool revocable; // Whether the attestation is revocable.\n bytes data; // Custom attestation data.\n}\n\n/// @notice A helper function to work with unchecked iterators in loops.\nfunction uncheckedInc(uint256 i) pure returns (uint256 j) {\n unchecked {\n j = i + 1;\n }\n}" + } + }, + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "": [ + "ast" + ], + "*": [ + "abi", + "metadata", + "devdoc", + "userdoc", + "storageLayout", + "evm.legacyAssembly", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "evm.gasEstimates", + "evm.assembly" + ] + } + }, + "remappings": [] + } + }, + "output": { + "sources": { + "EAS/Common.sol": { + "ast": { + "absolutePath": "EAS/Common.sol", + "exportedSymbols": { + "AccessDenied": [ + 9 + ], + "Attestation": [ + 49 + ], + "DeadlineExpired": [ + 11 + ], + "EMPTY_UID": [ + 4 + ], + "InvalidEAS": [ + 13 + ], + "InvalidLength": [ + 15 + ], + "InvalidSignature": [ + 17 + ], + "NO_EXPIRATION_TIME": [ + 7 + ], + "NotFound": [ + 19 + ], + "Signature": [ + 27 + ], + "uncheckedInc": [ + 65 + ] + }, + "id": 66, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:0" + }, + { + "constant": true, + "id": 4, + "mutability": "constant", + "name": "EMPTY_UID", + "nameLocation": "126:9:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "109:30:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "109:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "30", + "id": 3, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "138:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 7, + "mutability": "constant", + "name": "NO_EXPIRATION_TIME", + "nameLocation": "219:18:0", + "nodeType": "VariableDeclaration", + "scope": 66, + "src": "203:38:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 5, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "203:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": { + "hexValue": "30", + "id": 6, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "240:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "errorSelector": "4ca88867", + "id": 9, + "name": "AccessDenied", + "nameLocation": "250:12:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [], + "src": "262:2:0" + }, + "src": "244:21:0" + }, + { + "errorSelector": "1ab7da6b", + "id": 11, + "name": "DeadlineExpired", + "nameLocation": "272:15:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 10, + "nodeType": "ParameterList", + "parameters": [], + "src": "287:2:0" + }, + "src": "266:24:0" + }, + { + "errorSelector": "83780ffe", + "id": 13, + "name": "InvalidEAS", + "nameLocation": "297:10:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [], + "src": "307:2:0" + }, + "src": "291:19:0" + }, + { + "errorSelector": "947d5a84", + "id": 15, + "name": "InvalidLength", + "nameLocation": "317:13:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 14, + "nodeType": "ParameterList", + "parameters": [], + "src": "330:2:0" + }, + "src": "311:22:0" + }, + { + "errorSelector": "8baa579f", + "id": 17, + "name": "InvalidSignature", + "nameLocation": "340:16:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "356:2:0" + }, + "src": "334:25:0" + }, + { + "errorSelector": "c5723b51", + "id": 19, + "name": "NotFound", + "nameLocation": "366:8:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 18, + "nodeType": "ParameterList", + "parameters": [], + "src": "374:2:0" + }, + "src": "360:17:0" + }, + { + "canonicalName": "Signature", + "documentation": { + "id": 20, + "nodeType": "StructuredDocumentation", + "src": "379:56:0", + "text": "@notice A struct representing ECDSA signature data." + }, + "id": 27, + "members": [ + { + "constant": false, + "id": 22, + "mutability": "mutable", + "name": "v", + "nameLocation": "464:1:0", + "nodeType": "VariableDeclaration", + "scope": 27, + "src": "458:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 21, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "458:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "r", + "nameLocation": "499:1:0", + "nodeType": "VariableDeclaration", + "scope": 27, + "src": "491:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "491:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 26, + "mutability": "mutable", + "name": "s", + "nameLocation": "550:1:0", + "nodeType": "VariableDeclaration", + "scope": 27, + "src": "542:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "542:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "Signature", + "nameLocation": "442:9:0", + "nodeType": "StructDefinition", + "scope": 66, + "src": "435:142:0", + "visibility": "public" + }, + { + "canonicalName": "Attestation", + "documentation": { + "id": 28, + "nodeType": "StructuredDocumentation", + "src": "579:56:0", + "text": "@notice A struct representing a single attestation." + }, + "id": 49, + "members": [ + { + "constant": false, + "id": 30, + "mutability": "mutable", + "name": "uid", + "nameLocation": "668:3:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "660:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "660:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32, + "mutability": "mutable", + "name": "schema", + "nameLocation": "728:6:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "720:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "720:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34, + "mutability": "mutable", + "name": "time", + "nameLocation": "787:4:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "780:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 33, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "780:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 36, + "mutability": "mutable", + "name": "expirationTime", + "nameLocation": "867:14:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "860:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 35, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "860:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 38, + "mutability": "mutable", + "name": "revocationTime", + "nameLocation": "953:14:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "946:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 37, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "946:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40, + "mutability": "mutable", + "name": "refUID", + "nameLocation": "1044:6:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "1036:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 39, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1036:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 42, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "1103:9:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "1095:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 41, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1095:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44, + "mutability": "mutable", + "name": "attester", + "nameLocation": "1163:8:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "1155:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1155:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 46, + "mutability": "mutable", + "name": "revocable", + "nameLocation": "1225:9:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "1220:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 45, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1220:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 48, + "mutability": "mutable", + "name": "data", + "nameLocation": "1287:4:0", + "nodeType": "VariableDeclaration", + "scope": 49, + "src": "1281:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 47, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1281:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "Attestation", + "nameLocation": "642:11:0", + "nodeType": "StructDefinition", + "scope": 66, + "src": "635:687:0", + "visibility": "public" + }, + { + "body": { + "id": 64, + "nodeType": "Block", + "src": "1455:44:0", + "statements": [ + { + "id": 63, + "nodeType": "UncheckedBlock", + "src": "1461:36:0", + "statements": [ + { + "expression": { + "id": 61, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 57, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "1481:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 58, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 52, + "src": "1485:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1489:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1485:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1481:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 62, + "nodeType": "ExpressionStatement", + "src": "1481:9:0" + } + ] + } + ] + }, + "documentation": { + "id": 50, + "nodeType": "StructuredDocumentation", + "src": "1324:73:0", + "text": "@notice A helper function to work with unchecked iterators in loops." + }, + "id": 65, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "uncheckedInc", + "nameLocation": "1406:12:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 53, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 52, + "mutability": "mutable", + "name": "i", + "nameLocation": "1427:1:0", + "nodeType": "VariableDeclaration", + "scope": 65, + "src": "1419:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 51, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1419:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1418:11:0" + }, + "returnParameters": { + "id": 56, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55, + "mutability": "mutable", + "name": "j", + "nameLocation": "1452:1:0", + "nodeType": "VariableDeclaration", + "scope": 65, + "src": "1444:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 54, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1444:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1443:11:0" + }, + "scope": 66, + "src": "1397:102:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "src": "33:1466:0" + }, + "id": 0 + } + } + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/artifacts/build-info/91f5e85fa8c0309bb08e7e85a31b1ed6.json b/data_entry/ownable-resolver/EAS/artifacts/build-info/91f5e85fa8c0309bb08e7e85a31b1ed6.json new file mode 100644 index 0000000..e50a73d --- /dev/null +++ b/data_entry/ownable-resolver/EAS/artifacts/build-info/91f5e85fa8c0309bb08e7e85a31b1ed6.json @@ -0,0 +1,234 @@ +{ + "id": "91f5e85fa8c0309bb08e7e85a31b1ed6", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.26", + "solcLongVersion": "0.8.26+commit.8a97fa7a", + "input": { + "language": "Solidity", + "sources": { + "EAS/ISemver.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/// @title ISemver\n/// @notice A semver interface.\ninterface ISemver {\n /// @notice Returns the full semver contract version.\n /// @return Semver contract version as a string.\n function version() external view returns (string memory);\n}" + } + }, + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "": [ + "ast" + ], + "*": [ + "abi", + "metadata", + "devdoc", + "userdoc", + "storageLayout", + "evm.legacyAssembly", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "evm.gasEstimates", + "evm.assembly" + ] + } + }, + "remappings": [] + } + }, + "output": { + "contracts": { + "EAS/ISemver.sol": { + "ISemver": { + "abi": [ + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "ISemver", + "version": 1 + }, + "evm": { + "assembly": "", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "legacyAssembly": null, + "methodIdentifiers": { + "version()": "54fd4d50" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"ISemver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"A semver interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/ISemver.sol\":\"ISemver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": { + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "notice": "A semver interface.", + "version": 1 + } + } + } + }, + "sources": { + "EAS/ISemver.sol": { + "ast": { + "absolutePath": "EAS/ISemver.sol", + "exportedSymbols": { + "ISemver": [ + 9 + ] + }, + "id": 10, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:0" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ISemver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2, + "nodeType": "StructuredDocumentation", + "src": "58:51:0", + "text": "@title ISemver\n @notice A semver interface." + }, + "fullyImplemented": false, + "id": 9, + "linearizedBaseContracts": [ + 9 + ], + "name": "ISemver", + "nameLocation": "119:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 3, + "nodeType": "StructuredDocumentation", + "src": "133:106:0", + "text": "@notice Returns the full semver contract version.\n @return Semver contract version as a string." + }, + "functionSelector": "54fd4d50", + "id": 8, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "version", + "nameLocation": "253:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4, + "nodeType": "ParameterList", + "parameters": [], + "src": "260:2:0" + }, + "returnParameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8, + "src": "286:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "286:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "285:15:0" + }, + "scope": 9, + "src": "244:57:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 10, + "src": "109:194:0", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "33:270:0" + }, + "id": 0 + } + } + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver.json b/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver.json new file mode 100644 index 0000000..a969913 --- /dev/null +++ b/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver.json @@ -0,0 +1,7866 @@ +{ + "deploy": { + "VM:-": { + "linkReferences": {}, + "autoDeployLib": true + }, + "main:1": { + "linkReferences": {}, + "autoDeployLib": true + }, + "ropsten:3": { + "linkReferences": {}, + "autoDeployLib": true + }, + "rinkeby:4": { + "linkReferences": {}, + "autoDeployLib": true + }, + "kovan:42": { + "linkReferences": {}, + "autoDeployLib": true + }, + "goerli:5": { + "linkReferences": {}, + "autoDeployLib": true + }, + "Custom": { + "linkReferences": {}, + "autoDeployLib": true + } + }, + "data": { + "bytecode": { + "functionDebugData": { + "@_2144": { + "entryPoint": null, + "id": 2144, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_2452": { + "entryPoint": null, + "id": 2452, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_2502": { + "entryPoint": null, + "id": 2502, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_t_contract$_IEAS_$1964_fromMemory": { + "entryPoint": 334, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_contract$_IEAS_$1964_fromMemory": { + "entryPoint": 354, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 278, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_IEAS_$1964": { + "entryPoint": 295, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 247, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 243, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "validator_revert_t_contract$_IEAS_$1964": { + "entryPoint": 312, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:1392:13", + "nodeType": "YulBlock", + "src": "0:1392:13", + "statements": [ + { + "body": { + "nativeSrc": "47:35:13", + "nodeType": "YulBlock", + "src": "47:35:13", + "statements": [ + { + "nativeSrc": "57:19:13", + "nodeType": "YulAssignment", + "src": "57:19:13", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:13", + "nodeType": "YulLiteral", + "src": "73:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:13", + "nodeType": "YulIdentifier", + "src": "67:5:13" + }, + "nativeSrc": "67:9:13", + "nodeType": "YulFunctionCall", + "src": "67:9:13" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:13", + "nodeType": "YulIdentifier", + "src": "57:6:13" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:13", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:13", + "nodeType": "YulTypedName", + "src": "40:6:13", + "type": "" + } + ], + "src": "7:75:13" + }, + { + "body": { + "nativeSrc": "177:28:13", + "nodeType": "YulBlock", + "src": "177:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:13", + "nodeType": "YulLiteral", + "src": "194:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:13", + "nodeType": "YulLiteral", + "src": "197:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:13", + "nodeType": "YulIdentifier", + "src": "187:6:13" + }, + "nativeSrc": "187:12:13", + "nodeType": "YulFunctionCall", + "src": "187:12:13" + }, + "nativeSrc": "187:12:13", + "nodeType": "YulExpressionStatement", + "src": "187:12:13" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:13", + "nodeType": "YulFunctionDefinition", + "src": "88:117:13" + }, + { + "body": { + "nativeSrc": "300:28:13", + "nodeType": "YulBlock", + "src": "300:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:13", + "nodeType": "YulLiteral", + "src": "317:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:13", + "nodeType": "YulLiteral", + "src": "320:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:13", + "nodeType": "YulIdentifier", + "src": "310:6:13" + }, + "nativeSrc": "310:12:13", + "nodeType": "YulFunctionCall", + "src": "310:12:13" + }, + "nativeSrc": "310:12:13", + "nodeType": "YulExpressionStatement", + "src": "310:12:13" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:13", + "nodeType": "YulFunctionDefinition", + "src": "211:117:13" + }, + { + "body": { + "nativeSrc": "379:81:13", + "nodeType": "YulBlock", + "src": "379:81:13", + "statements": [ + { + "nativeSrc": "389:65:13", + "nodeType": "YulAssignment", + "src": "389:65:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "404:5:13", + "nodeType": "YulIdentifier", + "src": "404:5:13" + }, + { + "kind": "number", + "nativeSrc": "411:42:13", + "nodeType": "YulLiteral", + "src": "411:42:13", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "400:3:13", + "nodeType": "YulIdentifier", + "src": "400:3:13" + }, + "nativeSrc": "400:54:13", + "nodeType": "YulFunctionCall", + "src": "400:54:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:13", + "nodeType": "YulIdentifier", + "src": "389:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "334:126:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:13", + "nodeType": "YulTypedName", + "src": "361:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:13", + "nodeType": "YulTypedName", + "src": "371:7:13", + "type": "" + } + ], + "src": "334:126:13" + }, + { + "body": { + "nativeSrc": "511:51:13", + "nodeType": "YulBlock", + "src": "511:51:13", + "statements": [ + { + "nativeSrc": "521:35:13", + "nodeType": "YulAssignment", + "src": "521:35:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "550:5:13", + "nodeType": "YulIdentifier", + "src": "550:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "532:17:13", + "nodeType": "YulIdentifier", + "src": "532:17:13" + }, + "nativeSrc": "532:24:13", + "nodeType": "YulFunctionCall", + "src": "532:24:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "521:7:13", + "nodeType": "YulIdentifier", + "src": "521:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "466:96:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "493:5:13", + "nodeType": "YulTypedName", + "src": "493:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "503:7:13", + "nodeType": "YulTypedName", + "src": "503:7:13", + "type": "" + } + ], + "src": "466:96:13" + }, + { + "body": { + "nativeSrc": "626:51:13", + "nodeType": "YulBlock", + "src": "626:51:13", + "statements": [ + { + "nativeSrc": "636:35:13", + "nodeType": "YulAssignment", + "src": "636:35:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "665:5:13", + "nodeType": "YulIdentifier", + "src": "665:5:13" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "647:17:13", + "nodeType": "YulIdentifier", + "src": "647:17:13" + }, + "nativeSrc": "647:24:13", + "nodeType": "YulFunctionCall", + "src": "647:24:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "636:7:13", + "nodeType": "YulIdentifier", + "src": "636:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_IEAS_$1964", + "nativeSrc": "568:109:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "608:5:13", + "nodeType": "YulTypedName", + "src": "608:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "618:7:13", + "nodeType": "YulTypedName", + "src": "618:7:13", + "type": "" + } + ], + "src": "568:109:13" + }, + { + "body": { + "nativeSrc": "739:92:13", + "nodeType": "YulBlock", + "src": "739:92:13", + "statements": [ + { + "body": { + "nativeSrc": "809:16:13", + "nodeType": "YulBlock", + "src": "809:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "818:1:13", + "nodeType": "YulLiteral", + "src": "818:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "821:1:13", + "nodeType": "YulLiteral", + "src": "821:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "811:6:13", + "nodeType": "YulIdentifier", + "src": "811:6:13" + }, + "nativeSrc": "811:12:13", + "nodeType": "YulFunctionCall", + "src": "811:12:13" + }, + "nativeSrc": "811:12:13", + "nodeType": "YulExpressionStatement", + "src": "811:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "762:5:13", + "nodeType": "YulIdentifier", + "src": "762:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "800:5:13", + "nodeType": "YulIdentifier", + "src": "800:5:13" + } + ], + "functionName": { + "name": "cleanup_t_contract$_IEAS_$1964", + "nativeSrc": "769:30:13", + "nodeType": "YulIdentifier", + "src": "769:30:13" + }, + "nativeSrc": "769:37:13", + "nodeType": "YulFunctionCall", + "src": "769:37:13" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "759:2:13", + "nodeType": "YulIdentifier", + "src": "759:2:13" + }, + "nativeSrc": "759:48:13", + "nodeType": "YulFunctionCall", + "src": "759:48:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "752:6:13", + "nodeType": "YulIdentifier", + "src": "752:6:13" + }, + "nativeSrc": "752:56:13", + "nodeType": "YulFunctionCall", + "src": "752:56:13" + }, + "nativeSrc": "749:76:13", + "nodeType": "YulIf", + "src": "749:76:13" + } + ] + }, + "name": "validator_revert_t_contract$_IEAS_$1964", + "nativeSrc": "683:148:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "732:5:13", + "nodeType": "YulTypedName", + "src": "732:5:13", + "type": "" + } + ], + "src": "683:148:13" + }, + { + "body": { + "nativeSrc": "913:93:13", + "nodeType": "YulBlock", + "src": "913:93:13", + "statements": [ + { + "nativeSrc": "923:22:13", + "nodeType": "YulAssignment", + "src": "923:22:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "938:6:13", + "nodeType": "YulIdentifier", + "src": "938:6:13" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "932:5:13", + "nodeType": "YulIdentifier", + "src": "932:5:13" + }, + "nativeSrc": "932:13:13", + "nodeType": "YulFunctionCall", + "src": "932:13:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "923:5:13", + "nodeType": "YulIdentifier", + "src": "923:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "994:5:13", + "nodeType": "YulIdentifier", + "src": "994:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_IEAS_$1964", + "nativeSrc": "954:39:13", + "nodeType": "YulIdentifier", + "src": "954:39:13" + }, + "nativeSrc": "954:46:13", + "nodeType": "YulFunctionCall", + "src": "954:46:13" + }, + "nativeSrc": "954:46:13", + "nodeType": "YulExpressionStatement", + "src": "954:46:13" + } + ] + }, + "name": "abi_decode_t_contract$_IEAS_$1964_fromMemory", + "nativeSrc": "837:169:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "891:6:13", + "nodeType": "YulTypedName", + "src": "891:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "899:3:13", + "nodeType": "YulTypedName", + "src": "899:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "907:5:13", + "nodeType": "YulTypedName", + "src": "907:5:13", + "type": "" + } + ], + "src": "837:169:13" + }, + { + "body": { + "nativeSrc": "1102:287:13", + "nodeType": "YulBlock", + "src": "1102:287:13", + "statements": [ + { + "body": { + "nativeSrc": "1148:83:13", + "nodeType": "YulBlock", + "src": "1148:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1150:77:13", + "nodeType": "YulIdentifier", + "src": "1150:77:13" + }, + "nativeSrc": "1150:79:13", + "nodeType": "YulFunctionCall", + "src": "1150:79:13" + }, + "nativeSrc": "1150:79:13", + "nodeType": "YulExpressionStatement", + "src": "1150:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "1123:7:13", + "nodeType": "YulIdentifier", + "src": "1123:7:13" + }, + { + "name": "headStart", + "nativeSrc": "1132:9:13", + "nodeType": "YulIdentifier", + "src": "1132:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1119:3:13", + "nodeType": "YulIdentifier", + "src": "1119:3:13" + }, + "nativeSrc": "1119:23:13", + "nodeType": "YulFunctionCall", + "src": "1119:23:13" + }, + { + "kind": "number", + "nativeSrc": "1144:2:13", + "nodeType": "YulLiteral", + "src": "1144:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1115:3:13", + "nodeType": "YulIdentifier", + "src": "1115:3:13" + }, + "nativeSrc": "1115:32:13", + "nodeType": "YulFunctionCall", + "src": "1115:32:13" + }, + "nativeSrc": "1112:119:13", + "nodeType": "YulIf", + "src": "1112:119:13" + }, + { + "nativeSrc": "1241:141:13", + "nodeType": "YulBlock", + "src": "1241:141:13", + "statements": [ + { + "nativeSrc": "1256:15:13", + "nodeType": "YulVariableDeclaration", + "src": "1256:15:13", + "value": { + "kind": "number", + "nativeSrc": "1270:1:13", + "nodeType": "YulLiteral", + "src": "1270:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1260:6:13", + "nodeType": "YulTypedName", + "src": "1260:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "1285:87:13", + "nodeType": "YulAssignment", + "src": "1285:87:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1344:9:13", + "nodeType": "YulIdentifier", + "src": "1344:9:13" + }, + { + "name": "offset", + "nativeSrc": "1355:6:13", + "nodeType": "YulIdentifier", + "src": "1355:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1340:3:13", + "nodeType": "YulIdentifier", + "src": "1340:3:13" + }, + "nativeSrc": "1340:22:13", + "nodeType": "YulFunctionCall", + "src": "1340:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "1364:7:13", + "nodeType": "YulIdentifier", + "src": "1364:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_IEAS_$1964_fromMemory", + "nativeSrc": "1295:44:13", + "nodeType": "YulIdentifier", + "src": "1295:44:13" + }, + "nativeSrc": "1295:77:13", + "nodeType": "YulFunctionCall", + "src": "1295:77:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1285:6:13", + "nodeType": "YulIdentifier", + "src": "1285:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_IEAS_$1964_fromMemory", + "nativeSrc": "1012:377:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1072:9:13", + "nodeType": "YulTypedName", + "src": "1072:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "1083:7:13", + "nodeType": "YulTypedName", + "src": "1083:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "1095:6:13", + "nodeType": "YulTypedName", + "src": "1095:6:13", + "type": "" + } + ], + "src": "1012:377:13" + } + ] + }, + "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 cleanup_t_contract$_IEAS_$1964(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_IEAS_$1964(value) {\n if iszero(eq(value, cleanup_t_contract$_IEAS_$1964(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_IEAS_$1964_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_IEAS_$1964(value)\n }\n\n function abi_decode_tuple_t_contract$_IEAS_$1964_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_contract$_IEAS_$1964_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", + "id": 13, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "610100604052348015610010575f80fd5b5060405161116138038061116183398181016040528101906100329190610162565b80600160035f82608081815250508160a081815250508060c081815250505050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100b8576040517f83780ffe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050505061018d565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610120826100f7565b9050919050565b5f61013182610116565b9050919050565b61014181610127565b811461014b575f80fd5b50565b5f8151905061015c81610138565b92915050565b5f60208284031215610177576101766100f3565b5b5f6101848482850161014e565b91505092915050565b60805160a05160c05160e051610fa16101c05f395f61058601525f61021201525f6101e901525f6101c00152610fa15ff3fe608060405260043610610058575f3560e01c806354fd4d50146100a157806388e5b2d9146100cb57806391db0b7e146100fb578063ce46e0461461012b578063e49617e114610155578063e60c3505146101855761009d565b3661009d576100656101b5565b61009b576040517f1574f9f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b3480156100ac575f80fd5b506100b56101b9565b6040516100c29190610a5f565b60405180910390f35b6100e560048036038101906100e09190610b3d565b61025c565b6040516100f29190610bd5565b60405180910390f35b61011560048036038101906101109190610b3d565b610371565b6040516101229190610bd5565b60405180910390f35b348015610136575f80fd5b5061013f6101b5565b60405161014c9190610bd5565b60405180910390f35b61016f600480360381019061016a9190610c11565b610486565b60405161017c9190610bd5565b60405180910390f35b61019f600480360381019061019a9190610c11565b6104a0565b6040516101ac9190610bd5565b60405180910390f35b5f90565b60606101e47f00000000000000000000000000000000000000000000000000000000000000006104ba565b61020d7f00000000000000000000000000000000000000000000000000000000000000006104ba565b6102367f00000000000000000000000000000000000000000000000000000000000000006104ba565b60405160200161024893929190610cdc565b604051602081830303815290604052905090565b5f610265610584565b5f8585905090508383905081146102a8576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610361575f8686838181106102ca576102c9610d22565b5b9050602002013590508281111561030d576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033b89898481811061032357610322610d22565b5b90506020028101906103359190610d5b565b8261060b565b61034b575f945050505050610369565b80830392505061035a81610616565b90506102ae565b506001925050505b949350505050565b5f61037a610584565b5f8585905090508383905081146103bd576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610476575f8686838181106103df576103de610d22565b5b90506020020135905082811115610422576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045089898481811061043857610437610d22565b5b905060200281019061044a9190610d5b565b82610622565b610460575f94505050505061047e565b80830392505061046f81610616565b90506103c3565b506001925050505b949350505050565b5f61048f610584565b610499823461060b565b9050919050565b5f6104a9610584565b6104b38234610622565b9050919050565b60605f60016104c88461082e565b0190505f8167ffffffffffffffff8111156104e6576104e5610d83565b5b6040519080825280601f01601f1916602001820160405280156105185781602001600182028036833780820191505090505b5090505f82602001820190505b600115610579578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161056e5761056d610db0565b5b0494505f8503610525575b819350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610609576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6001905092915050565b5f600182019050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168360c001602081019061064d9190610e37565b73ffffffffffffffffffffffffffffffffffffffff16036106715760019050610828565b5f8360c00160208101906106859190610e37565b73ffffffffffffffffffffffffffffffffffffffff163b036106a9575f9050610828565b5f610705848061012001906106be9190610e62565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061097f565b90508073ffffffffffffffffffffffffffffffffffffffff168460c00160208101906107319190610e37565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f915050610828565b5f8460c00160208101906107699190610e37565b90508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107d357506040513d601f19601f820116820180604052508101906107d09190610ed8565b60015b6107e1575f92505050610828565b8073ffffffffffffffffffffffffffffffffffffffff168660e001602081019061080b9190610e37565b73ffffffffffffffffffffffffffffffffffffffff161493505050505b92915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061088a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816108805761087f610db0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106108c7576d04ee2d6d415b85acef810000000083816108bd576108bc610db0565b5b0492506020810190505b662386f26fc1000083106108f657662386f26fc1000083816108ec576108eb610db0565b5b0492506010810190505b6305f5e100831061091f576305f5e100838161091557610914610db0565b5b0492506008810190505b612710831061094457612710838161093a57610939610db0565b5b0492506004810190505b60648310610967576064838161095d5761095c610db0565b5b0492506002810190505b600a8310610976576001810190505b80915050919050565b5f6020825110156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90610f4d565b60405180910390fd5b5f6020830151905073ffffffffffffffffffffffffffffffffffffffff8116905080915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610a31826109ef565b610a3b81856109f9565b9350610a4b818560208601610a09565b610a5481610a17565b840191505092915050565b5f6020820190508181035f830152610a778184610a27565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610aa857610aa7610a87565b5b8235905067ffffffffffffffff811115610ac557610ac4610a8b565b5b602083019150836020820283011115610ae157610ae0610a8f565b5b9250929050565b5f8083601f840112610afd57610afc610a87565b5b8235905067ffffffffffffffff811115610b1a57610b19610a8b565b5b602083019150836020820283011115610b3657610b35610a8f565b5b9250929050565b5f805f8060408587031215610b5557610b54610a7f565b5b5f85013567ffffffffffffffff811115610b7257610b71610a83565b5b610b7e87828801610a93565b9450945050602085013567ffffffffffffffff811115610ba157610ba0610a83565b5b610bad87828801610ae8565b925092505092959194509250565b5f8115159050919050565b610bcf81610bbb565b82525050565b5f602082019050610be85f830184610bc6565b92915050565b5f80fd5b5f6101408284031215610c0857610c07610bee565b5b81905092915050565b5f60208284031215610c2657610c25610a7f565b5b5f82013567ffffffffffffffff811115610c4357610c42610a83565b5b610c4f84828501610bf2565b91505092915050565b5f81905092915050565b5f610c6c826109ef565b610c768185610c58565b9350610c86818560208601610a09565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610cc6600183610c58565b9150610cd182610c92565b600182019050919050565b5f610ce78286610c62565b9150610cf282610cba565b9150610cfe8285610c62565b9150610d0982610cba565b9150610d158284610c62565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f8235600161014003833603038112610d7757610d76610d4f565b5b80830191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0682610ddd565b9050919050565b610e1681610dfc565b8114610e20575f80fd5b50565b5f81359050610e3181610e0d565b92915050565b5f60208284031215610e4c57610e4b610a7f565b5b5f610e5984828501610e23565b91505092915050565b5f8083356001602003843603038112610e7e57610e7d610d4f565b5b80840192508235915067ffffffffffffffff821115610ea057610e9f610d53565b5b602083019250600182023603831315610ebc57610ebb610d57565b5b509250929050565b5f81519050610ed281610e0d565b92915050565b5f60208284031215610eed57610eec610a7f565b5b5f610efa84828501610ec4565b91505092915050565b7f4461746120746f6f2073686f72740000000000000000000000000000000000005f82015250565b5f610f37600e836109f9565b9150610f4282610f03565b602082019050919050565b5f6020820190508181035f830152610f6481610f2b565b905091905056fea2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", + "opcodes": "PUSH2 0x100 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1161 CODESIZE SUB DUP1 PUSH2 0x1161 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x162 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x3 PUSH0 DUP3 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP2 PUSH1 0xA0 DUP2 DUP2 MSTORE POP POP DUP1 PUSH1 0xC0 DUP2 DUP2 MSTORE POP POP POP POP POP PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x83780FFE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xE0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP POP PUSH2 0x18D JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x120 DUP3 PUSH2 0xF7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x131 DUP3 PUSH2 0x116 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x141 DUP2 PUSH2 0x127 JUMP JUMPDEST DUP2 EQ PUSH2 0x14B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x15C DUP2 PUSH2 0x138 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x177 JUMPI PUSH2 0x176 PUSH2 0xF3 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x184 DUP5 DUP3 DUP6 ADD PUSH2 0x14E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH2 0xFA1 PUSH2 0x1C0 PUSH0 CODECOPY PUSH0 PUSH2 0x586 ADD MSTORE PUSH0 PUSH2 0x212 ADD MSTORE PUSH0 PUSH2 0x1E9 ADD MSTORE PUSH0 PUSH2 0x1C0 ADD MSTORE PUSH2 0xFA1 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x58 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x88E5B2D9 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x91DB0B7E EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xCE46E046 EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0xE49617E1 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0xE60C3505 EQ PUSH2 0x185 JUMPI PUSH2 0x9D JUMP JUMPDEST CALLDATASIZE PUSH2 0x9D JUMPI PUSH2 0x65 PUSH2 0x1B5 JUMP JUMPDEST PUSH2 0x9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x1574F9F300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xA5F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0xB3D JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0xBD5 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 0xB3D JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x13F PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x486 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1E4 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x20D PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x236 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH2 0x265 PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x361 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x2CA JUMPI PUSH2 0x2C9 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x33B DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x335 SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x60B JUMP JUMPDEST PUSH2 0x34B JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x369 JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x35A DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x37A PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x3BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x3DF JUMPI PUSH2 0x3DE PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x422 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x450 DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x438 JUMPI PUSH2 0x437 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x44A SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x460 JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x47E JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x46F DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x3C3 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48F PUSH2 0x584 JUMP JUMPDEST PUSH2 0x499 DUP3 CALLVALUE PUSH2 0x60B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x4A9 PUSH2 0x584 JUMP JUMPDEST PUSH2 0x4B3 DUP3 CALLVALUE PUSH2 0x622 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0x4C8 DUP5 PUSH2 0x82E JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E6 JUMPI PUSH2 0x4E5 PUSH2 0xD83 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x579 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x525 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4CA8886700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x671 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x685 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0x6A9 JUMPI PUSH0 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 PUSH2 0x705 DUP5 DUP1 PUSH2 0x120 ADD SWAP1 PUSH2 0x6BE SWAP2 SWAP1 PUSH2 0xE62 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 PUSH0 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 PUSH2 0x97F JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x731 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x755 JUMPI PUSH0 SWAP2 POP POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x769 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x7D3 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x7E1 JUMPI PUSH0 SWAP3 POP POP POP PUSH2 0x828 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH1 0xE0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x80B SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x88A JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x880 JUMPI PUSH2 0x87F PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x8C7 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x8BD JUMPI PUSH2 0x8BC PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x8F6 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x8EC JUMPI PUSH2 0x8EB PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x91F JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x915 JUMPI PUSH2 0x914 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x944 JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x967 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x95D JUMPI PUSH2 0x95C PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x976 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 MLOAD LT ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BC SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x20 DUP4 ADD MLOAD SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA31 DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xA3B DUP2 DUP6 PUSH2 0x9F9 JUMP JUMPDEST SWAP4 POP PUSH2 0xA4B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0xA17 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA77 DUP2 DUP5 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAA8 JUMPI PUSH2 0xAA7 PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAC5 JUMPI PUSH2 0xAC4 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAE1 JUMPI PUSH2 0xAE0 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAFD JUMPI PUSH2 0xAFC PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xB36 JUMPI PUSH2 0xB35 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB55 JUMPI PUSH2 0xB54 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB72 JUMPI PUSH2 0xB71 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xB7E DUP8 DUP3 DUP9 ADD PUSH2 0xA93 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xBAD DUP8 DUP3 DUP9 ADD PUSH2 0xAE8 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCF DUP2 PUSH2 0xBBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH0 DUP4 ADD DUP5 PUSH2 0xBC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH2 0x140 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC08 JUMPI PUSH2 0xC07 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC43 JUMPI PUSH2 0xC42 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xC4F DUP5 DUP3 DUP6 ADD PUSH2 0xBF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6C DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xC76 DUP2 DUP6 PUSH2 0xC58 JUMP JUMPDEST SWAP4 POP PUSH2 0xC86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xCC6 PUSH1 0x1 DUP4 PUSH2 0xC58 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD1 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCE7 DUP3 DUP7 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xCF2 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xCFE DUP3 DUP6 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xD09 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xD15 DUP3 DUP5 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH2 0x140 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD77 JUMPI PUSH2 0xD76 PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE06 DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE16 DUP2 PUSH2 0xDFC JUMP JUMPDEST DUP2 EQ PUSH2 0xE20 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE31 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4C JUMPI PUSH2 0xE4B PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE59 DUP5 DUP3 DUP6 ADD PUSH2 0xE23 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xE7E JUMPI PUSH2 0xE7D PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xD53 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xD57 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xED2 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEED JUMPI PUSH2 0xEEC PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEFA DUP5 DUP3 DUP6 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4461746120746F6F2073686F7274000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xF37 PUSH1 0xE DUP4 PUSH2 0x9F9 JUMP JUMPDEST SWAP2 POP PUSH2 0xF42 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF64 DUP2 PUSH2 0xF2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE SWAP12 0xB2 0xC6 SWAP2 0xEB PUSH11 0x4020C67F4FBBD742291EF MUL TLOAD 0xD4 0xD0 SWAP11 SWAP5 GAS 0x4D NOT INVALID SELFDESTRUCT RETURNDATACOPY 0x4E PUSH3 0x64736F PUSH13 0x634300081A0033000000000000 ", + "sourceMap": "344:2067:12:-:0;;;400:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;437:3;676:1:10;679;682;768:5:11;759:14;;;;;;792:5;783:14;;;;;;816:5;807:14;;;;;;692:136;;;723:1:10::1;699:26;;707:3;699:26;;::::0;695:76:::1;;748:12;;;;;;;;;;;;;;695:76;788:3;781:10;;;;;;;;::::0;::::1;647:151:::0;400:44:12;344:2067;;88:117:13;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:109::-;618:7;647:24;665:5;647:24;:::i;:::-;636:35;;568:109;;;:::o;683:148::-;769:37;800:5;769:37;:::i;:::-;762:5;759:48;749:76;;821:1;818;811:12;749:76;683:148;:::o;837:169::-;907:5;938:6;932:13;923:22;;954:46;994:5;954:46;:::i;:::-;837:169;;;;:::o;1012:377::-;1095:6;1144:2;1132:9;1123:7;1119:23;1115:32;1112:119;;;1150:79;;:::i;:::-;1112:119;1270:1;1295:77;1364:7;1355:6;1344:9;1340:22;1295:77;:::i;:::-;1285:87;;1241:141;1012:377;;;;:::o;344:2067:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_2174": { + "entryPoint": null, + "id": 2174, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_onlyEAS_2413": { + "entryPoint": 1412, + "id": 2413, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@attest_2192": { + "entryPoint": 1184, + "id": 2192, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@extractAddressFromData_2598": { + "entryPoint": 2431, + "id": 2598, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isPayable_2161": { + "entryPoint": 437, + "id": 2161, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@log10_1306": { + "entryPoint": 2094, + "id": 1306, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@multiAttest_2274": { + "entryPoint": 881, + "id": 2274, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@multiRevoke_2374": { + "entryPoint": 604, + "id": 2374, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@onAttest_2576": { + "entryPoint": 1570, + "id": 2576, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@onRevoke_2612": { + "entryPoint": 1547, + "id": 2612, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@revoke_2292": { + "entryPoint": 1158, + "id": 2292, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@toString_245": { + "entryPoint": 1210, + "id": 245, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@uncheckedInc_1657": { + "entryPoint": 1558, + "id": 1657, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@version_2480": { + "entryPoint": 441, + "id": 2480, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 3619, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 3780, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr": { + "entryPoint": 2707, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr": { + "entryPoint": 2792, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_struct$_Attestation_$1641_calldata_ptr": { + "entryPoint": 3058, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 3639, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_fromMemory": { + "entryPoint": 3800, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr": { + "entryPoint": 2877, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr": { + "entryPoint": 3089, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 3014, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 2599, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 3170, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 3258, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack": { + "entryPoint": 3883, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 3292, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 3029, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 2655, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 3917, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "access_calldata_tail_t_bytes_calldata_ptr": { + "entryPoint": 3682, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "access_calldata_tail_t_struct$_Attestation_$1641_calldata_ptr": { + "entryPoint": 3419, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 2543, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 2553, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 3160, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 3580, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 3003, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 3549, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 2569, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "panic_error_0x12": { + "entryPoint": 3504, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 3362, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 3459, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 2699, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 2695, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a": { + "entryPoint": 3411, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d": { + "entryPoint": 3054, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad": { + "entryPoint": 3407, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 2703, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e": { + "entryPoint": 3415, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 2691, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 2687, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 2583, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf": { + "entryPoint": 3218, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94": { + "entryPoint": 3843, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 3597, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:12159:13", + "nodeType": "YulBlock", + "src": "0:12159:13", + "statements": [ + { + "body": { + "nativeSrc": "66:40:13", + "nodeType": "YulBlock", + "src": "66:40:13", + "statements": [ + { + "nativeSrc": "77:22:13", + "nodeType": "YulAssignment", + "src": "77:22:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "93:5:13", + "nodeType": "YulIdentifier", + "src": "93:5:13" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "87:5:13", + "nodeType": "YulIdentifier", + "src": "87:5:13" + }, + "nativeSrc": "87:12:13", + "nodeType": "YulFunctionCall", + "src": "87:12:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "77:6:13", + "nodeType": "YulIdentifier", + "src": "77:6:13" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "7:99:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "49:5:13", + "nodeType": "YulTypedName", + "src": "49:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "59:6:13", + "nodeType": "YulTypedName", + "src": "59:6:13", + "type": "" + } + ], + "src": "7:99:13" + }, + { + "body": { + "nativeSrc": "208:73:13", + "nodeType": "YulBlock", + "src": "208:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "225:3:13", + "nodeType": "YulIdentifier", + "src": "225:3:13" + }, + { + "name": "length", + "nativeSrc": "230:6:13", + "nodeType": "YulIdentifier", + "src": "230:6:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "218:6:13", + "nodeType": "YulIdentifier", + "src": "218:6:13" + }, + "nativeSrc": "218:19:13", + "nodeType": "YulFunctionCall", + "src": "218:19:13" + }, + "nativeSrc": "218:19:13", + "nodeType": "YulExpressionStatement", + "src": "218:19:13" + }, + { + "nativeSrc": "246:29:13", + "nodeType": "YulAssignment", + "src": "246:29:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "265:3:13", + "nodeType": "YulIdentifier", + "src": "265:3:13" + }, + { + "kind": "number", + "nativeSrc": "270:4:13", + "nodeType": "YulLiteral", + "src": "270:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "261:3:13", + "nodeType": "YulIdentifier", + "src": "261:3:13" + }, + "nativeSrc": "261:14:13", + "nodeType": "YulFunctionCall", + "src": "261:14:13" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "246:11:13", + "nodeType": "YulIdentifier", + "src": "246:11:13" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "112:169:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "180:3:13", + "nodeType": "YulTypedName", + "src": "180:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "185:6:13", + "nodeType": "YulTypedName", + "src": "185:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "196:11:13", + "nodeType": "YulTypedName", + "src": "196:11:13", + "type": "" + } + ], + "src": "112:169:13" + }, + { + "body": { + "nativeSrc": "349:77:13", + "nodeType": "YulBlock", + "src": "349:77:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "366:3:13", + "nodeType": "YulIdentifier", + "src": "366:3:13" + }, + { + "name": "src", + "nativeSrc": "371:3:13", + "nodeType": "YulIdentifier", + "src": "371:3:13" + }, + { + "name": "length", + "nativeSrc": "376:6:13", + "nodeType": "YulIdentifier", + "src": "376:6:13" + } + ], + "functionName": { + "name": "mcopy", + "nativeSrc": "360:5:13", + "nodeType": "YulIdentifier", + "src": "360:5:13" + }, + "nativeSrc": "360:23:13", + "nodeType": "YulFunctionCall", + "src": "360:23:13" + }, + "nativeSrc": "360:23:13", + "nodeType": "YulExpressionStatement", + "src": "360:23:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "403:3:13", + "nodeType": "YulIdentifier", + "src": "403:3:13" + }, + { + "name": "length", + "nativeSrc": "408:6:13", + "nodeType": "YulIdentifier", + "src": "408:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "399:3:13", + "nodeType": "YulIdentifier", + "src": "399:3:13" + }, + "nativeSrc": "399:16:13", + "nodeType": "YulFunctionCall", + "src": "399:16:13" + }, + { + "kind": "number", + "nativeSrc": "417:1:13", + "nodeType": "YulLiteral", + "src": "417:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "392:6:13", + "nodeType": "YulIdentifier", + "src": "392:6:13" + }, + "nativeSrc": "392:27:13", + "nodeType": "YulFunctionCall", + "src": "392:27:13" + }, + "nativeSrc": "392:27:13", + "nodeType": "YulExpressionStatement", + "src": "392:27:13" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "287:139:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "331:3:13", + "nodeType": "YulTypedName", + "src": "331:3:13", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "336:3:13", + "nodeType": "YulTypedName", + "src": "336:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "341:6:13", + "nodeType": "YulTypedName", + "src": "341:6:13", + "type": "" + } + ], + "src": "287:139:13" + }, + { + "body": { + "nativeSrc": "480:54:13", + "nodeType": "YulBlock", + "src": "480:54:13", + "statements": [ + { + "nativeSrc": "490:38:13", + "nodeType": "YulAssignment", + "src": "490:38:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "508:5:13", + "nodeType": "YulIdentifier", + "src": "508:5:13" + }, + { + "kind": "number", + "nativeSrc": "515:2:13", + "nodeType": "YulLiteral", + "src": "515:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "504:3:13", + "nodeType": "YulIdentifier", + "src": "504:3:13" + }, + "nativeSrc": "504:14:13", + "nodeType": "YulFunctionCall", + "src": "504:14:13" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "524:2:13", + "nodeType": "YulLiteral", + "src": "524:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "520:3:13", + "nodeType": "YulIdentifier", + "src": "520:3:13" + }, + "nativeSrc": "520:7:13", + "nodeType": "YulFunctionCall", + "src": "520:7:13" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "500:3:13", + "nodeType": "YulIdentifier", + "src": "500:3:13" + }, + "nativeSrc": "500:28:13", + "nodeType": "YulFunctionCall", + "src": "500:28:13" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "490:6:13", + "nodeType": "YulIdentifier", + "src": "490:6:13" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "432:102:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "463:5:13", + "nodeType": "YulTypedName", + "src": "463:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "473:6:13", + "nodeType": "YulTypedName", + "src": "473:6:13", + "type": "" + } + ], + "src": "432:102:13" + }, + { + "body": { + "nativeSrc": "632:285:13", + "nodeType": "YulBlock", + "src": "632:285:13", + "statements": [ + { + "nativeSrc": "642:53:13", + "nodeType": "YulVariableDeclaration", + "src": "642:53:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "689:5:13", + "nodeType": "YulIdentifier", + "src": "689:5:13" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "656:32:13", + "nodeType": "YulIdentifier", + "src": "656:32:13" + }, + "nativeSrc": "656:39:13", + "nodeType": "YulFunctionCall", + "src": "656:39:13" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "646:6:13", + "nodeType": "YulTypedName", + "src": "646:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "704:78:13", + "nodeType": "YulAssignment", + "src": "704:78:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "770:3:13", + "nodeType": "YulIdentifier", + "src": "770:3:13" + }, + { + "name": "length", + "nativeSrc": "775:6:13", + "nodeType": "YulIdentifier", + "src": "775:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "711:58:13", + "nodeType": "YulIdentifier", + "src": "711:58:13" + }, + "nativeSrc": "711:71:13", + "nodeType": "YulFunctionCall", + "src": "711:71:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "704:3:13", + "nodeType": "YulIdentifier", + "src": "704:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "830:5:13", + "nodeType": "YulIdentifier", + "src": "830:5:13" + }, + { + "kind": "number", + "nativeSrc": "837:4:13", + "nodeType": "YulLiteral", + "src": "837:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "826:3:13", + "nodeType": "YulIdentifier", + "src": "826:3:13" + }, + "nativeSrc": "826:16:13", + "nodeType": "YulFunctionCall", + "src": "826:16:13" + }, + { + "name": "pos", + "nativeSrc": "844:3:13", + "nodeType": "YulIdentifier", + "src": "844:3:13" + }, + { + "name": "length", + "nativeSrc": "849:6:13", + "nodeType": "YulIdentifier", + "src": "849:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "791:34:13", + "nodeType": "YulIdentifier", + "src": "791:34:13" + }, + "nativeSrc": "791:65:13", + "nodeType": "YulFunctionCall", + "src": "791:65:13" + }, + "nativeSrc": "791:65:13", + "nodeType": "YulExpressionStatement", + "src": "791:65:13" + }, + { + "nativeSrc": "865:46:13", + "nodeType": "YulAssignment", + "src": "865:46:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "876:3:13", + "nodeType": "YulIdentifier", + "src": "876:3:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "903:6:13", + "nodeType": "YulIdentifier", + "src": "903:6:13" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "881:21:13", + "nodeType": "YulIdentifier", + "src": "881:21:13" + }, + "nativeSrc": "881:29:13", + "nodeType": "YulFunctionCall", + "src": "881:29:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "872:3:13", + "nodeType": "YulIdentifier", + "src": "872:3:13" + }, + "nativeSrc": "872:39:13", + "nodeType": "YulFunctionCall", + "src": "872:39:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "865:3:13", + "nodeType": "YulIdentifier", + "src": "865:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "540:377:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "613:5:13", + "nodeType": "YulTypedName", + "src": "613:5:13", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "620:3:13", + "nodeType": "YulTypedName", + "src": "620:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "628:3:13", + "nodeType": "YulTypedName", + "src": "628:3:13", + "type": "" + } + ], + "src": "540:377:13" + }, + { + "body": { + "nativeSrc": "1041:195:13", + "nodeType": "YulBlock", + "src": "1041:195:13", + "statements": [ + { + "nativeSrc": "1051:26:13", + "nodeType": "YulAssignment", + "src": "1051:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1063:9:13", + "nodeType": "YulIdentifier", + "src": "1063:9:13" + }, + { + "kind": "number", + "nativeSrc": "1074:2:13", + "nodeType": "YulLiteral", + "src": "1074:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1059:3:13", + "nodeType": "YulIdentifier", + "src": "1059:3:13" + }, + "nativeSrc": "1059:18:13", + "nodeType": "YulFunctionCall", + "src": "1059:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1051:4:13", + "nodeType": "YulIdentifier", + "src": "1051:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1098:9:13", + "nodeType": "YulIdentifier", + "src": "1098:9:13" + }, + { + "kind": "number", + "nativeSrc": "1109:1:13", + "nodeType": "YulLiteral", + "src": "1109:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1094:3:13", + "nodeType": "YulIdentifier", + "src": "1094:3:13" + }, + "nativeSrc": "1094:17:13", + "nodeType": "YulFunctionCall", + "src": "1094:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "1117:4:13", + "nodeType": "YulIdentifier", + "src": "1117:4:13" + }, + { + "name": "headStart", + "nativeSrc": "1123:9:13", + "nodeType": "YulIdentifier", + "src": "1123:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1113:3:13", + "nodeType": "YulIdentifier", + "src": "1113:3:13" + }, + "nativeSrc": "1113:20:13", + "nodeType": "YulFunctionCall", + "src": "1113:20:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1087:6:13", + "nodeType": "YulIdentifier", + "src": "1087:6:13" + }, + "nativeSrc": "1087:47:13", + "nodeType": "YulFunctionCall", + "src": "1087:47:13" + }, + "nativeSrc": "1087:47:13", + "nodeType": "YulExpressionStatement", + "src": "1087:47:13" + }, + { + "nativeSrc": "1143:86:13", + "nodeType": "YulAssignment", + "src": "1143:86:13", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1215:6:13", + "nodeType": "YulIdentifier", + "src": "1215:6:13" + }, + { + "name": "tail", + "nativeSrc": "1224:4:13", + "nodeType": "YulIdentifier", + "src": "1224:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "1151:63:13", + "nodeType": "YulIdentifier", + "src": "1151:63:13" + }, + "nativeSrc": "1151:78:13", + "nodeType": "YulFunctionCall", + "src": "1151:78:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1143:4:13", + "nodeType": "YulIdentifier", + "src": "1143:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "923:313:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1013:9:13", + "nodeType": "YulTypedName", + "src": "1013:9:13", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1025:6:13", + "nodeType": "YulTypedName", + "src": "1025:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1036:4:13", + "nodeType": "YulTypedName", + "src": "1036:4:13", + "type": "" + } + ], + "src": "923:313:13" + }, + { + "body": { + "nativeSrc": "1282:35:13", + "nodeType": "YulBlock", + "src": "1282:35:13", + "statements": [ + { + "nativeSrc": "1292:19:13", + "nodeType": "YulAssignment", + "src": "1292:19:13", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1308:2:13", + "nodeType": "YulLiteral", + "src": "1308:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1302:5:13", + "nodeType": "YulIdentifier", + "src": "1302:5:13" + }, + "nativeSrc": "1302:9:13", + "nodeType": "YulFunctionCall", + "src": "1302:9:13" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1292:6:13", + "nodeType": "YulIdentifier", + "src": "1292:6:13" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "1242:75:13", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1275:6:13", + "nodeType": "YulTypedName", + "src": "1275:6:13", + "type": "" + } + ], + "src": "1242:75:13" + }, + { + "body": { + "nativeSrc": "1412:28:13", + "nodeType": "YulBlock", + "src": "1412:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1429:1:13", + "nodeType": "YulLiteral", + "src": "1429:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1432:1:13", + "nodeType": "YulLiteral", + "src": "1432:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1422:6:13", + "nodeType": "YulIdentifier", + "src": "1422:6:13" + }, + "nativeSrc": "1422:12:13", + "nodeType": "YulFunctionCall", + "src": "1422:12:13" + }, + "nativeSrc": "1422:12:13", + "nodeType": "YulExpressionStatement", + "src": "1422:12:13" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1323:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1323:117:13" + }, + { + "body": { + "nativeSrc": "1535:28:13", + "nodeType": "YulBlock", + "src": "1535:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1552:1:13", + "nodeType": "YulLiteral", + "src": "1552:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1555:1:13", + "nodeType": "YulLiteral", + "src": "1555:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1545:6:13", + "nodeType": "YulIdentifier", + "src": "1545:6:13" + }, + "nativeSrc": "1545:12:13", + "nodeType": "YulFunctionCall", + "src": "1545:12:13" + }, + "nativeSrc": "1545:12:13", + "nodeType": "YulExpressionStatement", + "src": "1545:12:13" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "1446:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1446:117:13" + }, + { + "body": { + "nativeSrc": "1658:28:13", + "nodeType": "YulBlock", + "src": "1658:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1675:1:13", + "nodeType": "YulLiteral", + "src": "1675:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1678:1:13", + "nodeType": "YulLiteral", + "src": "1678:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1668:6:13", + "nodeType": "YulIdentifier", + "src": "1668:6:13" + }, + "nativeSrc": "1668:12:13", + "nodeType": "YulFunctionCall", + "src": "1668:12:13" + }, + "nativeSrc": "1668:12:13", + "nodeType": "YulExpressionStatement", + "src": "1668:12:13" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "1569:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1569:117:13" + }, + { + "body": { + "nativeSrc": "1781:28:13", + "nodeType": "YulBlock", + "src": "1781:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1798:1:13", + "nodeType": "YulLiteral", + "src": "1798:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1801:1:13", + "nodeType": "YulLiteral", + "src": "1801:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1791:6:13", + "nodeType": "YulIdentifier", + "src": "1791:6:13" + }, + "nativeSrc": "1791:12:13", + "nodeType": "YulFunctionCall", + "src": "1791:12:13" + }, + "nativeSrc": "1791:12:13", + "nodeType": "YulExpressionStatement", + "src": "1791:12:13" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "1692:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1692:117:13" + }, + { + "body": { + "nativeSrc": "1904:28:13", + "nodeType": "YulBlock", + "src": "1904:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1921:1:13", + "nodeType": "YulLiteral", + "src": "1921:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1924:1:13", + "nodeType": "YulLiteral", + "src": "1924:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1914:6:13", + "nodeType": "YulIdentifier", + "src": "1914:6:13" + }, + "nativeSrc": "1914:12:13", + "nodeType": "YulFunctionCall", + "src": "1914:12:13" + }, + "nativeSrc": "1914:12:13", + "nodeType": "YulExpressionStatement", + "src": "1914:12:13" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "1815:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1815:117:13" + }, + { + "body": { + "nativeSrc": "2087:478:13", + "nodeType": "YulBlock", + "src": "2087:478:13", + "statements": [ + { + "body": { + "nativeSrc": "2136:83:13", + "nodeType": "YulBlock", + "src": "2136:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2138:77:13", + "nodeType": "YulIdentifier", + "src": "2138:77:13" + }, + "nativeSrc": "2138:79:13", + "nodeType": "YulFunctionCall", + "src": "2138:79:13" + }, + "nativeSrc": "2138:79:13", + "nodeType": "YulExpressionStatement", + "src": "2138:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2115:6:13", + "nodeType": "YulIdentifier", + "src": "2115:6:13" + }, + { + "kind": "number", + "nativeSrc": "2123:4:13", + "nodeType": "YulLiteral", + "src": "2123:4:13", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2111:3:13", + "nodeType": "YulIdentifier", + "src": "2111:3:13" + }, + "nativeSrc": "2111:17:13", + "nodeType": "YulFunctionCall", + "src": "2111:17:13" + }, + { + "name": "end", + "nativeSrc": "2130:3:13", + "nodeType": "YulIdentifier", + "src": "2130:3:13" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2107:3:13", + "nodeType": "YulIdentifier", + "src": "2107:3:13" + }, + "nativeSrc": "2107:27:13", + "nodeType": "YulFunctionCall", + "src": "2107:27:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2100:6:13", + "nodeType": "YulIdentifier", + "src": "2100:6:13" + }, + "nativeSrc": "2100:35:13", + "nodeType": "YulFunctionCall", + "src": "2100:35:13" + }, + "nativeSrc": "2097:122:13", + "nodeType": "YulIf", + "src": "2097:122:13" + }, + { + "nativeSrc": "2228:30:13", + "nodeType": "YulAssignment", + "src": "2228:30:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2251:6:13", + "nodeType": "YulIdentifier", + "src": "2251:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2238:12:13", + "nodeType": "YulIdentifier", + "src": "2238:12:13" + }, + "nativeSrc": "2238:20:13", + "nodeType": "YulFunctionCall", + "src": "2238:20:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "2228:6:13", + "nodeType": "YulIdentifier", + "src": "2228:6:13" + } + ] + }, + { + "body": { + "nativeSrc": "2301:83:13", + "nodeType": "YulBlock", + "src": "2301:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "2303:77:13", + "nodeType": "YulIdentifier", + "src": "2303:77:13" + }, + "nativeSrc": "2303:79:13", + "nodeType": "YulFunctionCall", + "src": "2303:79:13" + }, + "nativeSrc": "2303:79:13", + "nodeType": "YulExpressionStatement", + "src": "2303:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "2273:6:13", + "nodeType": "YulIdentifier", + "src": "2273:6:13" + }, + { + "kind": "number", + "nativeSrc": "2281:18:13", + "nodeType": "YulLiteral", + "src": "2281:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2270:2:13", + "nodeType": "YulIdentifier", + "src": "2270:2:13" + }, + "nativeSrc": "2270:30:13", + "nodeType": "YulFunctionCall", + "src": "2270:30:13" + }, + "nativeSrc": "2267:117:13", + "nodeType": "YulIf", + "src": "2267:117:13" + }, + { + "nativeSrc": "2393:29:13", + "nodeType": "YulAssignment", + "src": "2393:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2409:6:13", + "nodeType": "YulIdentifier", + "src": "2409:6:13" + }, + { + "kind": "number", + "nativeSrc": "2417:4:13", + "nodeType": "YulLiteral", + "src": "2417:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2405:3:13", + "nodeType": "YulIdentifier", + "src": "2405:3:13" + }, + "nativeSrc": "2405:17:13", + "nodeType": "YulFunctionCall", + "src": "2405:17:13" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "2393:8:13", + "nodeType": "YulIdentifier", + "src": "2393:8:13" + } + ] + }, + { + "body": { + "nativeSrc": "2476:83:13", + "nodeType": "YulBlock", + "src": "2476:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "2478:77:13", + "nodeType": "YulIdentifier", + "src": "2478:77:13" + }, + "nativeSrc": "2478:79:13", + "nodeType": "YulFunctionCall", + "src": "2478:79:13" + }, + "nativeSrc": "2478:79:13", + "nodeType": "YulExpressionStatement", + "src": "2478:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "2441:8:13", + "nodeType": "YulIdentifier", + "src": "2441:8:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2455:6:13", + "nodeType": "YulIdentifier", + "src": "2455:6:13" + }, + { + "kind": "number", + "nativeSrc": "2463:4:13", + "nodeType": "YulLiteral", + "src": "2463:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "2451:3:13", + "nodeType": "YulIdentifier", + "src": "2451:3:13" + }, + "nativeSrc": "2451:17:13", + "nodeType": "YulFunctionCall", + "src": "2451:17:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2437:3:13", + "nodeType": "YulIdentifier", + "src": "2437:3:13" + }, + "nativeSrc": "2437:32:13", + "nodeType": "YulFunctionCall", + "src": "2437:32:13" + }, + { + "name": "end", + "nativeSrc": "2471:3:13", + "nodeType": "YulIdentifier", + "src": "2471:3:13" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2434:2:13", + "nodeType": "YulIdentifier", + "src": "2434:2:13" + }, + "nativeSrc": "2434:41:13", + "nodeType": "YulFunctionCall", + "src": "2434:41:13" + }, + "nativeSrc": "2431:128:13", + "nodeType": "YulIf", + "src": "2431:128:13" + } + ] + }, + "name": "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "nativeSrc": "1966:599:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2054:6:13", + "nodeType": "YulTypedName", + "src": "2054:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2062:3:13", + "nodeType": "YulTypedName", + "src": "2062:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "2070:8:13", + "nodeType": "YulTypedName", + "src": "2070:8:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2080:6:13", + "nodeType": "YulTypedName", + "src": "2080:6:13", + "type": "" + } + ], + "src": "1966:599:13" + }, + { + "body": { + "nativeSrc": "2678:478:13", + "nodeType": "YulBlock", + "src": "2678:478:13", + "statements": [ + { + "body": { + "nativeSrc": "2727:83:13", + "nodeType": "YulBlock", + "src": "2727:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2729:77:13", + "nodeType": "YulIdentifier", + "src": "2729:77:13" + }, + "nativeSrc": "2729:79:13", + "nodeType": "YulFunctionCall", + "src": "2729:79:13" + }, + "nativeSrc": "2729:79:13", + "nodeType": "YulExpressionStatement", + "src": "2729:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2706:6:13", + "nodeType": "YulIdentifier", + "src": "2706:6:13" + }, + { + "kind": "number", + "nativeSrc": "2714:4:13", + "nodeType": "YulLiteral", + "src": "2714:4:13", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2702:3:13", + "nodeType": "YulIdentifier", + "src": "2702:3:13" + }, + "nativeSrc": "2702:17:13", + "nodeType": "YulFunctionCall", + "src": "2702:17:13" + }, + { + "name": "end", + "nativeSrc": "2721:3:13", + "nodeType": "YulIdentifier", + "src": "2721:3:13" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2698:3:13", + "nodeType": "YulIdentifier", + "src": "2698:3:13" + }, + "nativeSrc": "2698:27:13", + "nodeType": "YulFunctionCall", + "src": "2698:27:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2691:6:13", + "nodeType": "YulIdentifier", + "src": "2691:6:13" + }, + "nativeSrc": "2691:35:13", + "nodeType": "YulFunctionCall", + "src": "2691:35:13" + }, + "nativeSrc": "2688:122:13", + "nodeType": "YulIf", + "src": "2688:122:13" + }, + { + "nativeSrc": "2819:30:13", + "nodeType": "YulAssignment", + "src": "2819:30:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2842:6:13", + "nodeType": "YulIdentifier", + "src": "2842:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2829:12:13", + "nodeType": "YulIdentifier", + "src": "2829:12:13" + }, + "nativeSrc": "2829:20:13", + "nodeType": "YulFunctionCall", + "src": "2829:20:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "2819:6:13", + "nodeType": "YulIdentifier", + "src": "2819:6:13" + } + ] + }, + { + "body": { + "nativeSrc": "2892:83:13", + "nodeType": "YulBlock", + "src": "2892:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "2894:77:13", + "nodeType": "YulIdentifier", + "src": "2894:77:13" + }, + "nativeSrc": "2894:79:13", + "nodeType": "YulFunctionCall", + "src": "2894:79:13" + }, + "nativeSrc": "2894:79:13", + "nodeType": "YulExpressionStatement", + "src": "2894:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "2864:6:13", + "nodeType": "YulIdentifier", + "src": "2864:6:13" + }, + { + "kind": "number", + "nativeSrc": "2872:18:13", + "nodeType": "YulLiteral", + "src": "2872:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2861:2:13", + "nodeType": "YulIdentifier", + "src": "2861:2:13" + }, + "nativeSrc": "2861:30:13", + "nodeType": "YulFunctionCall", + "src": "2861:30:13" + }, + "nativeSrc": "2858:117:13", + "nodeType": "YulIf", + "src": "2858:117:13" + }, + { + "nativeSrc": "2984:29:13", + "nodeType": "YulAssignment", + "src": "2984:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3000:6:13", + "nodeType": "YulIdentifier", + "src": "3000:6:13" + }, + { + "kind": "number", + "nativeSrc": "3008:4:13", + "nodeType": "YulLiteral", + "src": "3008:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2996:3:13", + "nodeType": "YulIdentifier", + "src": "2996:3:13" + }, + "nativeSrc": "2996:17:13", + "nodeType": "YulFunctionCall", + "src": "2996:17:13" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "2984:8:13", + "nodeType": "YulIdentifier", + "src": "2984:8:13" + } + ] + }, + { + "body": { + "nativeSrc": "3067:83:13", + "nodeType": "YulBlock", + "src": "3067:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "3069:77:13", + "nodeType": "YulIdentifier", + "src": "3069:77:13" + }, + "nativeSrc": "3069:79:13", + "nodeType": "YulFunctionCall", + "src": "3069:79:13" + }, + "nativeSrc": "3069:79:13", + "nodeType": "YulExpressionStatement", + "src": "3069:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "3032:8:13", + "nodeType": "YulIdentifier", + "src": "3032:8:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "3046:6:13", + "nodeType": "YulIdentifier", + "src": "3046:6:13" + }, + { + "kind": "number", + "nativeSrc": "3054:4:13", + "nodeType": "YulLiteral", + "src": "3054:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "3042:3:13", + "nodeType": "YulIdentifier", + "src": "3042:3:13" + }, + "nativeSrc": "3042:17:13", + "nodeType": "YulFunctionCall", + "src": "3042:17:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3028:3:13", + "nodeType": "YulIdentifier", + "src": "3028:3:13" + }, + "nativeSrc": "3028:32:13", + "nodeType": "YulFunctionCall", + "src": "3028:32:13" + }, + { + "name": "end", + "nativeSrc": "3062:3:13", + "nodeType": "YulIdentifier", + "src": "3062:3:13" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3025:2:13", + "nodeType": "YulIdentifier", + "src": "3025:2:13" + }, + "nativeSrc": "3025:41:13", + "nodeType": "YulFunctionCall", + "src": "3025:41:13" + }, + "nativeSrc": "3022:128:13", + "nodeType": "YulIf", + "src": "3022:128:13" + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", + "nativeSrc": "2588:568:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2645:6:13", + "nodeType": "YulTypedName", + "src": "2645:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2653:3:13", + "nodeType": "YulTypedName", + "src": "2653:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "2661:8:13", + "nodeType": "YulTypedName", + "src": "2661:8:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2671:6:13", + "nodeType": "YulTypedName", + "src": "2671:6:13", + "type": "" + } + ], + "src": "2588:568:13" + }, + { + "body": { + "nativeSrc": "3346:812:13", + "nodeType": "YulBlock", + "src": "3346:812:13", + "statements": [ + { + "body": { + "nativeSrc": "3392:83:13", + "nodeType": "YulBlock", + "src": "3392:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3394:77:13", + "nodeType": "YulIdentifier", + "src": "3394:77:13" + }, + "nativeSrc": "3394:79:13", + "nodeType": "YulFunctionCall", + "src": "3394:79:13" + }, + "nativeSrc": "3394:79:13", + "nodeType": "YulExpressionStatement", + "src": "3394:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3367:7:13", + "nodeType": "YulIdentifier", + "src": "3367:7:13" + }, + { + "name": "headStart", + "nativeSrc": "3376:9:13", + "nodeType": "YulIdentifier", + "src": "3376:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3363:3:13", + "nodeType": "YulIdentifier", + "src": "3363:3:13" + }, + "nativeSrc": "3363:23:13", + "nodeType": "YulFunctionCall", + "src": "3363:23:13" + }, + { + "kind": "number", + "nativeSrc": "3388:2:13", + "nodeType": "YulLiteral", + "src": "3388:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3359:3:13", + "nodeType": "YulIdentifier", + "src": "3359:3:13" + }, + "nativeSrc": "3359:32:13", + "nodeType": "YulFunctionCall", + "src": "3359:32:13" + }, + "nativeSrc": "3356:119:13", + "nodeType": "YulIf", + "src": "3356:119:13" + }, + { + "nativeSrc": "3485:343:13", + "nodeType": "YulBlock", + "src": "3485:343:13", + "statements": [ + { + "nativeSrc": "3500:45:13", + "nodeType": "YulVariableDeclaration", + "src": "3500:45:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3531:9:13", + "nodeType": "YulIdentifier", + "src": "3531:9:13" + }, + { + "kind": "number", + "nativeSrc": "3542:1:13", + "nodeType": "YulLiteral", + "src": "3542:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3527:3:13", + "nodeType": "YulIdentifier", + "src": "3527:3:13" + }, + "nativeSrc": "3527:17:13", + "nodeType": "YulFunctionCall", + "src": "3527:17:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3514:12:13", + "nodeType": "YulIdentifier", + "src": "3514:12:13" + }, + "nativeSrc": "3514:31:13", + "nodeType": "YulFunctionCall", + "src": "3514:31:13" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3504:6:13", + "nodeType": "YulTypedName", + "src": "3504:6:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3592:83:13", + "nodeType": "YulBlock", + "src": "3592:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3594:77:13", + "nodeType": "YulIdentifier", + "src": "3594:77:13" + }, + "nativeSrc": "3594:79:13", + "nodeType": "YulFunctionCall", + "src": "3594:79:13" + }, + "nativeSrc": "3594:79:13", + "nodeType": "YulExpressionStatement", + "src": "3594:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3564:6:13", + "nodeType": "YulIdentifier", + "src": "3564:6:13" + }, + { + "kind": "number", + "nativeSrc": "3572:18:13", + "nodeType": "YulLiteral", + "src": "3572:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3561:2:13", + "nodeType": "YulIdentifier", + "src": "3561:2:13" + }, + "nativeSrc": "3561:30:13", + "nodeType": "YulFunctionCall", + "src": "3561:30:13" + }, + "nativeSrc": "3558:117:13", + "nodeType": "YulIf", + "src": "3558:117:13" + }, + { + "nativeSrc": "3689:129:13", + "nodeType": "YulAssignment", + "src": "3689:129:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3790:9:13", + "nodeType": "YulIdentifier", + "src": "3790:9:13" + }, + { + "name": "offset", + "nativeSrc": "3801:6:13", + "nodeType": "YulIdentifier", + "src": "3801:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3786:3:13", + "nodeType": "YulIdentifier", + "src": "3786:3:13" + }, + "nativeSrc": "3786:22:13", + "nodeType": "YulFunctionCall", + "src": "3786:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "3810:7:13", + "nodeType": "YulIdentifier", + "src": "3810:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "nativeSrc": "3707:78:13", + "nodeType": "YulIdentifier", + "src": "3707:78:13" + }, + "nativeSrc": "3707:111:13", + "nodeType": "YulFunctionCall", + "src": "3707:111:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3689:6:13", + "nodeType": "YulIdentifier", + "src": "3689:6:13" + }, + { + "name": "value1", + "nativeSrc": "3697:6:13", + "nodeType": "YulIdentifier", + "src": "3697:6:13" + } + ] + } + ] + }, + { + "nativeSrc": "3838:313:13", + "nodeType": "YulBlock", + "src": "3838:313:13", + "statements": [ + { + "nativeSrc": "3853:46:13", + "nodeType": "YulVariableDeclaration", + "src": "3853:46:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3884:9:13", + "nodeType": "YulIdentifier", + "src": "3884:9:13" + }, + { + "kind": "number", + "nativeSrc": "3895:2:13", + "nodeType": "YulLiteral", + "src": "3895:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3880:3:13", + "nodeType": "YulIdentifier", + "src": "3880:3:13" + }, + "nativeSrc": "3880:18:13", + "nodeType": "YulFunctionCall", + "src": "3880:18:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3867:12:13", + "nodeType": "YulIdentifier", + "src": "3867:12:13" + }, + "nativeSrc": "3867:32:13", + "nodeType": "YulFunctionCall", + "src": "3867:32:13" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3857:6:13", + "nodeType": "YulTypedName", + "src": "3857:6:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3946:83:13", + "nodeType": "YulBlock", + "src": "3946:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3948:77:13", + "nodeType": "YulIdentifier", + "src": "3948:77:13" + }, + "nativeSrc": "3948:79:13", + "nodeType": "YulFunctionCall", + "src": "3948:79:13" + }, + "nativeSrc": "3948:79:13", + "nodeType": "YulExpressionStatement", + "src": "3948:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3918:6:13", + "nodeType": "YulIdentifier", + "src": "3918:6:13" + }, + { + "kind": "number", + "nativeSrc": "3926:18:13", + "nodeType": "YulLiteral", + "src": "3926:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3915:2:13", + "nodeType": "YulIdentifier", + "src": "3915:2:13" + }, + "nativeSrc": "3915:30:13", + "nodeType": "YulFunctionCall", + "src": "3915:30:13" + }, + "nativeSrc": "3912:117:13", + "nodeType": "YulIf", + "src": "3912:117:13" + }, + { + "nativeSrc": "4043:98:13", + "nodeType": "YulAssignment", + "src": "4043:98:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4113:9:13", + "nodeType": "YulIdentifier", + "src": "4113:9:13" + }, + { + "name": "offset", + "nativeSrc": "4124:6:13", + "nodeType": "YulIdentifier", + "src": "4124:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4109:3:13", + "nodeType": "YulIdentifier", + "src": "4109:3:13" + }, + "nativeSrc": "4109:22:13", + "nodeType": "YulFunctionCall", + "src": "4109:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "4133:7:13", + "nodeType": "YulIdentifier", + "src": "4133:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", + "nativeSrc": "4061:47:13", + "nodeType": "YulIdentifier", + "src": "4061:47:13" + }, + "nativeSrc": "4061:80:13", + "nodeType": "YulFunctionCall", + "src": "4061:80:13" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4043:6:13", + "nodeType": "YulIdentifier", + "src": "4043:6:13" + }, + { + "name": "value3", + "nativeSrc": "4051:6:13", + "nodeType": "YulIdentifier", + "src": "4051:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr", + "nativeSrc": "3162:996:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3292:9:13", + "nodeType": "YulTypedName", + "src": "3292:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3303:7:13", + "nodeType": "YulTypedName", + "src": "3303:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3315:6:13", + "nodeType": "YulTypedName", + "src": "3315:6:13", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3323:6:13", + "nodeType": "YulTypedName", + "src": "3323:6:13", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3331:6:13", + "nodeType": "YulTypedName", + "src": "3331:6:13", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3339:6:13", + "nodeType": "YulTypedName", + "src": "3339:6:13", + "type": "" + } + ], + "src": "3162:996:13" + }, + { + "body": { + "nativeSrc": "4206:48:13", + "nodeType": "YulBlock", + "src": "4206:48:13", + "statements": [ + { + "nativeSrc": "4216:32:13", + "nodeType": "YulAssignment", + "src": "4216:32:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4241:5:13", + "nodeType": "YulIdentifier", + "src": "4241:5:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4234:6:13", + "nodeType": "YulIdentifier", + "src": "4234:6:13" + }, + "nativeSrc": "4234:13:13", + "nodeType": "YulFunctionCall", + "src": "4234:13:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4227:6:13", + "nodeType": "YulIdentifier", + "src": "4227:6:13" + }, + "nativeSrc": "4227:21:13", + "nodeType": "YulFunctionCall", + "src": "4227:21:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4216:7:13", + "nodeType": "YulIdentifier", + "src": "4216:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "4164:90:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4188:5:13", + "nodeType": "YulTypedName", + "src": "4188:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4198:7:13", + "nodeType": "YulTypedName", + "src": "4198:7:13", + "type": "" + } + ], + "src": "4164:90:13" + }, + { + "body": { + "nativeSrc": "4319:50:13", + "nodeType": "YulBlock", + "src": "4319:50:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4336:3:13", + "nodeType": "YulIdentifier", + "src": "4336:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4356:5:13", + "nodeType": "YulIdentifier", + "src": "4356:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "4341:14:13", + "nodeType": "YulIdentifier", + "src": "4341:14:13" + }, + "nativeSrc": "4341:21:13", + "nodeType": "YulFunctionCall", + "src": "4341:21:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4329:6:13", + "nodeType": "YulIdentifier", + "src": "4329:6:13" + }, + "nativeSrc": "4329:34:13", + "nodeType": "YulFunctionCall", + "src": "4329:34:13" + }, + "nativeSrc": "4329:34:13", + "nodeType": "YulExpressionStatement", + "src": "4329:34:13" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "4260:109:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4307:5:13", + "nodeType": "YulTypedName", + "src": "4307:5:13", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4314:3:13", + "nodeType": "YulTypedName", + "src": "4314:3:13", + "type": "" + } + ], + "src": "4260:109:13" + }, + { + "body": { + "nativeSrc": "4467:118:13", + "nodeType": "YulBlock", + "src": "4467:118:13", + "statements": [ + { + "nativeSrc": "4477:26:13", + "nodeType": "YulAssignment", + "src": "4477:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4489:9:13", + "nodeType": "YulIdentifier", + "src": "4489:9:13" + }, + { + "kind": "number", + "nativeSrc": "4500:2:13", + "nodeType": "YulLiteral", + "src": "4500:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4485:3:13", + "nodeType": "YulIdentifier", + "src": "4485:3:13" + }, + "nativeSrc": "4485:18:13", + "nodeType": "YulFunctionCall", + "src": "4485:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4477:4:13", + "nodeType": "YulIdentifier", + "src": "4477:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4551:6:13", + "nodeType": "YulIdentifier", + "src": "4551:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4564:9:13", + "nodeType": "YulIdentifier", + "src": "4564:9:13" + }, + { + "kind": "number", + "nativeSrc": "4575:1:13", + "nodeType": "YulLiteral", + "src": "4575:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4560:3:13", + "nodeType": "YulIdentifier", + "src": "4560:3:13" + }, + "nativeSrc": "4560:17:13", + "nodeType": "YulFunctionCall", + "src": "4560:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "4513:37:13", + "nodeType": "YulIdentifier", + "src": "4513:37:13" + }, + "nativeSrc": "4513:65:13", + "nodeType": "YulFunctionCall", + "src": "4513:65:13" + }, + "nativeSrc": "4513:65:13", + "nodeType": "YulExpressionStatement", + "src": "4513:65:13" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "4375:210:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4439:9:13", + "nodeType": "YulTypedName", + "src": "4439:9:13", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4451:6:13", + "nodeType": "YulTypedName", + "src": "4451:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4462:4:13", + "nodeType": "YulTypedName", + "src": "4462:4:13", + "type": "" + } + ], + "src": "4375:210:13" + }, + { + "body": { + "nativeSrc": "4680:28:13", + "nodeType": "YulBlock", + "src": "4680:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4697:1:13", + "nodeType": "YulLiteral", + "src": "4697:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4700:1:13", + "nodeType": "YulLiteral", + "src": "4700:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4690:6:13", + "nodeType": "YulIdentifier", + "src": "4690:6:13" + }, + "nativeSrc": "4690:12:13", + "nodeType": "YulFunctionCall", + "src": "4690:12:13" + }, + "nativeSrc": "4690:12:13", + "nodeType": "YulExpressionStatement", + "src": "4690:12:13" + } + ] + }, + "name": "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d", + "nativeSrc": "4591:117:13", + "nodeType": "YulFunctionDefinition", + "src": "4591:117:13" + }, + { + "body": { + "nativeSrc": "4823:153:13", + "nodeType": "YulBlock", + "src": "4823:153:13", + "statements": [ + { + "body": { + "nativeSrc": "4863:83:13", + "nodeType": "YulBlock", + "src": "4863:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d", + "nativeSrc": "4865:77:13", + "nodeType": "YulIdentifier", + "src": "4865:77:13" + }, + "nativeSrc": "4865:79:13", + "nodeType": "YulFunctionCall", + "src": "4865:79:13" + }, + "nativeSrc": "4865:79:13", + "nodeType": "YulExpressionStatement", + "src": "4865:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nativeSrc": "4844:3:13", + "nodeType": "YulIdentifier", + "src": "4844:3:13" + }, + { + "name": "offset", + "nativeSrc": "4849:6:13", + "nodeType": "YulIdentifier", + "src": "4849:6:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4840:3:13", + "nodeType": "YulIdentifier", + "src": "4840:3:13" + }, + "nativeSrc": "4840:16:13", + "nodeType": "YulFunctionCall", + "src": "4840:16:13" + }, + { + "kind": "number", + "nativeSrc": "4858:3:13", + "nodeType": "YulLiteral", + "src": "4858:3:13", + "type": "", + "value": "320" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4836:3:13", + "nodeType": "YulIdentifier", + "src": "4836:3:13" + }, + "nativeSrc": "4836:26:13", + "nodeType": "YulFunctionCall", + "src": "4836:26:13" + }, + "nativeSrc": "4833:113:13", + "nodeType": "YulIf", + "src": "4833:113:13" + }, + { + "nativeSrc": "4955:15:13", + "nodeType": "YulAssignment", + "src": "4955:15:13", + "value": { + "name": "offset", + "nativeSrc": "4964:6:13", + "nodeType": "YulIdentifier", + "src": "4964:6:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "4955:5:13", + "nodeType": "YulIdentifier", + "src": "4955:5:13" + } + ] + } + ] + }, + "name": "abi_decode_t_struct$_Attestation_$1641_calldata_ptr", + "nativeSrc": "4740:236:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "4801:6:13", + "nodeType": "YulTypedName", + "src": "4801:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "4809:3:13", + "nodeType": "YulTypedName", + "src": "4809:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "4817:5:13", + "nodeType": "YulTypedName", + "src": "4817:5:13", + "type": "" + } + ], + "src": "4740:236:13" + }, + { + "body": { + "nativeSrc": "5079:454:13", + "nodeType": "YulBlock", + "src": "5079:454:13", + "statements": [ + { + "body": { + "nativeSrc": "5125:83:13", + "nodeType": "YulBlock", + "src": "5125:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5127:77:13", + "nodeType": "YulIdentifier", + "src": "5127:77:13" + }, + "nativeSrc": "5127:79:13", + "nodeType": "YulFunctionCall", + "src": "5127:79:13" + }, + "nativeSrc": "5127:79:13", + "nodeType": "YulExpressionStatement", + "src": "5127:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5100:7:13", + "nodeType": "YulIdentifier", + "src": "5100:7:13" + }, + { + "name": "headStart", + "nativeSrc": "5109:9:13", + "nodeType": "YulIdentifier", + "src": "5109:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5096:3:13", + "nodeType": "YulIdentifier", + "src": "5096:3:13" + }, + "nativeSrc": "5096:23:13", + "nodeType": "YulFunctionCall", + "src": "5096:23:13" + }, + { + "kind": "number", + "nativeSrc": "5121:2:13", + "nodeType": "YulLiteral", + "src": "5121:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5092:3:13", + "nodeType": "YulIdentifier", + "src": "5092:3:13" + }, + "nativeSrc": "5092:32:13", + "nodeType": "YulFunctionCall", + "src": "5092:32:13" + }, + "nativeSrc": "5089:119:13", + "nodeType": "YulIf", + "src": "5089:119:13" + }, + { + "nativeSrc": "5218:308:13", + "nodeType": "YulBlock", + "src": "5218:308:13", + "statements": [ + { + "nativeSrc": "5233:45:13", + "nodeType": "YulVariableDeclaration", + "src": "5233:45:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5264:9:13", + "nodeType": "YulIdentifier", + "src": "5264:9:13" + }, + { + "kind": "number", + "nativeSrc": "5275:1:13", + "nodeType": "YulLiteral", + "src": "5275:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5260:3:13", + "nodeType": "YulIdentifier", + "src": "5260:3:13" + }, + "nativeSrc": "5260:17:13", + "nodeType": "YulFunctionCall", + "src": "5260:17:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5247:12:13", + "nodeType": "YulIdentifier", + "src": "5247:12:13" + }, + "nativeSrc": "5247:31:13", + "nodeType": "YulFunctionCall", + "src": "5247:31:13" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5237:6:13", + "nodeType": "YulTypedName", + "src": "5237:6:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5325:83:13", + "nodeType": "YulBlock", + "src": "5325:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "5327:77:13", + "nodeType": "YulIdentifier", + "src": "5327:77:13" + }, + "nativeSrc": "5327:79:13", + "nodeType": "YulFunctionCall", + "src": "5327:79:13" + }, + "nativeSrc": "5327:79:13", + "nodeType": "YulExpressionStatement", + "src": "5327:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5297:6:13", + "nodeType": "YulIdentifier", + "src": "5297:6:13" + }, + { + "kind": "number", + "nativeSrc": "5305:18:13", + "nodeType": "YulLiteral", + "src": "5305:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5294:2:13", + "nodeType": "YulIdentifier", + "src": "5294:2:13" + }, + "nativeSrc": "5294:30:13", + "nodeType": "YulFunctionCall", + "src": "5294:30:13" + }, + "nativeSrc": "5291:117:13", + "nodeType": "YulIf", + "src": "5291:117:13" + }, + { + "nativeSrc": "5422:94:13", + "nodeType": "YulAssignment", + "src": "5422:94:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5488:9:13", + "nodeType": "YulIdentifier", + "src": "5488:9:13" + }, + { + "name": "offset", + "nativeSrc": "5499:6:13", + "nodeType": "YulIdentifier", + "src": "5499:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5484:3:13", + "nodeType": "YulIdentifier", + "src": "5484:3:13" + }, + "nativeSrc": "5484:22:13", + "nodeType": "YulFunctionCall", + "src": "5484:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "5508:7:13", + "nodeType": "YulIdentifier", + "src": "5508:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_struct$_Attestation_$1641_calldata_ptr", + "nativeSrc": "5432:51:13", + "nodeType": "YulIdentifier", + "src": "5432:51:13" + }, + "nativeSrc": "5432:84:13", + "nodeType": "YulFunctionCall", + "src": "5432:84:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5422:6:13", + "nodeType": "YulIdentifier", + "src": "5422:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr", + "nativeSrc": "4982:551:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5049:9:13", + "nodeType": "YulTypedName", + "src": "5049:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5060:7:13", + "nodeType": "YulTypedName", + "src": "5060:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5072:6:13", + "nodeType": "YulTypedName", + "src": "5072:6:13", + "type": "" + } + ], + "src": "4982:551:13" + }, + { + "body": { + "nativeSrc": "5653:34:13", + "nodeType": "YulBlock", + "src": "5653:34:13", + "statements": [ + { + "nativeSrc": "5663:18:13", + "nodeType": "YulAssignment", + "src": "5663:18:13", + "value": { + "name": "pos", + "nativeSrc": "5678:3:13", + "nodeType": "YulIdentifier", + "src": "5678:3:13" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "5663:11:13", + "nodeType": "YulIdentifier", + "src": "5663:11:13" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "5539:148:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "5625:3:13", + "nodeType": "YulTypedName", + "src": "5625:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5630:6:13", + "nodeType": "YulTypedName", + "src": "5630:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "5641:11:13", + "nodeType": "YulTypedName", + "src": "5641:11:13", + "type": "" + } + ], + "src": "5539:148:13" + }, + { + "body": { + "nativeSrc": "5803:280:13", + "nodeType": "YulBlock", + "src": "5803:280:13", + "statements": [ + { + "nativeSrc": "5813:53:13", + "nodeType": "YulVariableDeclaration", + "src": "5813:53:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5860:5:13", + "nodeType": "YulIdentifier", + "src": "5860:5:13" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5827:32:13", + "nodeType": "YulIdentifier", + "src": "5827:32:13" + }, + "nativeSrc": "5827:39:13", + "nodeType": "YulFunctionCall", + "src": "5827:39:13" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "5817:6:13", + "nodeType": "YulTypedName", + "src": "5817:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "5875:96:13", + "nodeType": "YulAssignment", + "src": "5875:96:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5959:3:13", + "nodeType": "YulIdentifier", + "src": "5959:3:13" + }, + { + "name": "length", + "nativeSrc": "5964:6:13", + "nodeType": "YulIdentifier", + "src": "5964:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "5882:76:13", + "nodeType": "YulIdentifier", + "src": "5882:76:13" + }, + "nativeSrc": "5882:89:13", + "nodeType": "YulFunctionCall", + "src": "5882:89:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "5875:3:13", + "nodeType": "YulIdentifier", + "src": "5875:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6019:5:13", + "nodeType": "YulIdentifier", + "src": "6019:5:13" + }, + { + "kind": "number", + "nativeSrc": "6026:4:13", + "nodeType": "YulLiteral", + "src": "6026:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6015:3:13", + "nodeType": "YulIdentifier", + "src": "6015:3:13" + }, + "nativeSrc": "6015:16:13", + "nodeType": "YulFunctionCall", + "src": "6015:16:13" + }, + { + "name": "pos", + "nativeSrc": "6033:3:13", + "nodeType": "YulIdentifier", + "src": "6033:3:13" + }, + { + "name": "length", + "nativeSrc": "6038:6:13", + "nodeType": "YulIdentifier", + "src": "6038:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5980:34:13", + "nodeType": "YulIdentifier", + "src": "5980:34:13" + }, + "nativeSrc": "5980:65:13", + "nodeType": "YulFunctionCall", + "src": "5980:65:13" + }, + "nativeSrc": "5980:65:13", + "nodeType": "YulExpressionStatement", + "src": "5980:65:13" + }, + { + "nativeSrc": "6054:23:13", + "nodeType": "YulAssignment", + "src": "6054:23:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6065:3:13", + "nodeType": "YulIdentifier", + "src": "6065:3:13" + }, + { + "name": "length", + "nativeSrc": "6070:6:13", + "nodeType": "YulIdentifier", + "src": "6070:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6061:3:13", + "nodeType": "YulIdentifier", + "src": "6061:3:13" + }, + "nativeSrc": "6061:16:13", + "nodeType": "YulFunctionCall", + "src": "6061:16:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "6054:3:13", + "nodeType": "YulIdentifier", + "src": "6054:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "5693:390:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5784:5:13", + "nodeType": "YulTypedName", + "src": "5784:5:13", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5791:3:13", + "nodeType": "YulTypedName", + "src": "5791:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "5799:3:13", + "nodeType": "YulTypedName", + "src": "5799:3:13", + "type": "" + } + ], + "src": "5693:390:13" + }, + { + "body": { + "nativeSrc": "6195:45:13", + "nodeType": "YulBlock", + "src": "6195:45:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "6217:6:13", + "nodeType": "YulIdentifier", + "src": "6217:6:13" + }, + { + "kind": "number", + "nativeSrc": "6225:1:13", + "nodeType": "YulLiteral", + "src": "6225:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6213:3:13", + "nodeType": "YulIdentifier", + "src": "6213:3:13" + }, + "nativeSrc": "6213:14:13", + "nodeType": "YulFunctionCall", + "src": "6213:14:13" + }, + { + "hexValue": "2e", + "kind": "string", + "nativeSrc": "6229:3:13", + "nodeType": "YulLiteral", + "src": "6229:3:13", + "type": "", + "value": "." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6206:6:13", + "nodeType": "YulIdentifier", + "src": "6206:6:13" + }, + "nativeSrc": "6206:27:13", + "nodeType": "YulFunctionCall", + "src": "6206:27:13" + }, + "nativeSrc": "6206:27:13", + "nodeType": "YulExpressionStatement", + "src": "6206:27:13" + } + ] + }, + "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "nativeSrc": "6089:151:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "6187:6:13", + "nodeType": "YulTypedName", + "src": "6187:6:13", + "type": "" + } + ], + "src": "6089:151:13" + }, + { + "body": { + "nativeSrc": "6410:236:13", + "nodeType": "YulBlock", + "src": "6410:236:13", + "statements": [ + { + "nativeSrc": "6420:91:13", + "nodeType": "YulAssignment", + "src": "6420:91:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6504:3:13", + "nodeType": "YulIdentifier", + "src": "6504:3:13" + }, + { + "kind": "number", + "nativeSrc": "6509:1:13", + "nodeType": "YulLiteral", + "src": "6509:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "6427:76:13", + "nodeType": "YulIdentifier", + "src": "6427:76:13" + }, + "nativeSrc": "6427:84:13", + "nodeType": "YulFunctionCall", + "src": "6427:84:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "6420:3:13", + "nodeType": "YulIdentifier", + "src": "6420:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6609:3:13", + "nodeType": "YulIdentifier", + "src": "6609:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "nativeSrc": "6520:88:13", + "nodeType": "YulIdentifier", + "src": "6520:88:13" + }, + "nativeSrc": "6520:93:13", + "nodeType": "YulFunctionCall", + "src": "6520:93:13" + }, + "nativeSrc": "6520:93:13", + "nodeType": "YulExpressionStatement", + "src": "6520:93:13" + }, + { + "nativeSrc": "6622:18:13", + "nodeType": "YulAssignment", + "src": "6622:18:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6633:3:13", + "nodeType": "YulIdentifier", + "src": "6633:3:13" + }, + { + "kind": "number", + "nativeSrc": "6638:1:13", + "nodeType": "YulLiteral", + "src": "6638:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6629:3:13", + "nodeType": "YulIdentifier", + "src": "6629:3:13" + }, + "nativeSrc": "6629:11:13", + "nodeType": "YulFunctionCall", + "src": "6629:11:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "6622:3:13", + "nodeType": "YulIdentifier", + "src": "6622:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "6246:400:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "6398:3:13", + "nodeType": "YulTypedName", + "src": "6398:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "6406:3:13", + "nodeType": "YulTypedName", + "src": "6406:3:13", + "type": "" + } + ], + "src": "6246:400:13" + }, + { + "body": { + "nativeSrc": "7086:693:13", + "nodeType": "YulBlock", + "src": "7086:693:13", + "statements": [ + { + "nativeSrc": "7097:102:13", + "nodeType": "YulAssignment", + "src": "7097:102:13", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7186:6:13", + "nodeType": "YulIdentifier", + "src": "7186:6:13" + }, + { + "name": "pos", + "nativeSrc": "7195:3:13", + "nodeType": "YulIdentifier", + "src": "7195:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7104:81:13", + "nodeType": "YulIdentifier", + "src": "7104:81:13" + }, + "nativeSrc": "7104:95:13", + "nodeType": "YulFunctionCall", + "src": "7104:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7097:3:13", + "nodeType": "YulIdentifier", + "src": "7097:3:13" + } + ] + }, + { + "nativeSrc": "7209:155:13", + "nodeType": "YulAssignment", + "src": "7209:155:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7360:3:13", + "nodeType": "YulIdentifier", + "src": "7360:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7216:142:13", + "nodeType": "YulIdentifier", + "src": "7216:142:13" + }, + "nativeSrc": "7216:148:13", + "nodeType": "YulFunctionCall", + "src": "7216:148:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7209:3:13", + "nodeType": "YulIdentifier", + "src": "7209:3:13" + } + ] + }, + { + "nativeSrc": "7374:102:13", + "nodeType": "YulAssignment", + "src": "7374:102:13", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "7463:6:13", + "nodeType": "YulIdentifier", + "src": "7463:6:13" + }, + { + "name": "pos", + "nativeSrc": "7472:3:13", + "nodeType": "YulIdentifier", + "src": "7472:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7381:81:13", + "nodeType": "YulIdentifier", + "src": "7381:81:13" + }, + "nativeSrc": "7381:95:13", + "nodeType": "YulFunctionCall", + "src": "7381:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7374:3:13", + "nodeType": "YulIdentifier", + "src": "7374:3:13" + } + ] + }, + { + "nativeSrc": "7486:155:13", + "nodeType": "YulAssignment", + "src": "7486:155:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7637:3:13", + "nodeType": "YulIdentifier", + "src": "7637:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7493:142:13", + "nodeType": "YulIdentifier", + "src": "7493:142:13" + }, + "nativeSrc": "7493:148:13", + "nodeType": "YulFunctionCall", + "src": "7493:148:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7486:3:13", + "nodeType": "YulIdentifier", + "src": "7486:3:13" + } + ] + }, + { + "nativeSrc": "7651:102:13", + "nodeType": "YulAssignment", + "src": "7651:102:13", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "7740:6:13", + "nodeType": "YulIdentifier", + "src": "7740:6:13" + }, + { + "name": "pos", + "nativeSrc": "7749:3:13", + "nodeType": "YulIdentifier", + "src": "7749:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7658:81:13", + "nodeType": "YulIdentifier", + "src": "7658:81:13" + }, + "nativeSrc": "7658:95:13", + "nodeType": "YulFunctionCall", + "src": "7658:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7651:3:13", + "nodeType": "YulIdentifier", + "src": "7651:3:13" + } + ] + }, + { + "nativeSrc": "7763:10:13", + "nodeType": "YulAssignment", + "src": "7763:10:13", + "value": { + "name": "pos", + "nativeSrc": "7770:3:13", + "nodeType": "YulIdentifier", + "src": "7770:3:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "7763:3:13", + "nodeType": "YulIdentifier", + "src": "7763:3:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "6652:1127:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "7049:3:13", + "nodeType": "YulTypedName", + "src": "7049:3:13", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "7055:6:13", + "nodeType": "YulTypedName", + "src": "7055:6:13", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "7063:6:13", + "nodeType": "YulTypedName", + "src": "7063:6:13", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7071:6:13", + "nodeType": "YulTypedName", + "src": "7071:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "7082:3:13", + "nodeType": "YulTypedName", + "src": "7082:3:13", + "type": "" + } + ], + "src": "6652:1127:13" + }, + { + "body": { + "nativeSrc": "7813:152:13", + "nodeType": "YulBlock", + "src": "7813:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7830:1:13", + "nodeType": "YulLiteral", + "src": "7830:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7833:77:13", + "nodeType": "YulLiteral", + "src": "7833:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7823:6:13", + "nodeType": "YulIdentifier", + "src": "7823:6:13" + }, + "nativeSrc": "7823:88:13", + "nodeType": "YulFunctionCall", + "src": "7823:88:13" + }, + "nativeSrc": "7823:88:13", + "nodeType": "YulExpressionStatement", + "src": "7823:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7927:1:13", + "nodeType": "YulLiteral", + "src": "7927:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "7930:4:13", + "nodeType": "YulLiteral", + "src": "7930:4:13", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7920:6:13", + "nodeType": "YulIdentifier", + "src": "7920:6:13" + }, + "nativeSrc": "7920:15:13", + "nodeType": "YulFunctionCall", + "src": "7920:15:13" + }, + "nativeSrc": "7920:15:13", + "nodeType": "YulExpressionStatement", + "src": "7920:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7951:1:13", + "nodeType": "YulLiteral", + "src": "7951:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7954:4:13", + "nodeType": "YulLiteral", + "src": "7954:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7944:6:13", + "nodeType": "YulIdentifier", + "src": "7944:6:13" + }, + "nativeSrc": "7944:15:13", + "nodeType": "YulFunctionCall", + "src": "7944:15:13" + }, + "nativeSrc": "7944:15:13", + "nodeType": "YulExpressionStatement", + "src": "7944:15:13" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "7785:180:13", + "nodeType": "YulFunctionDefinition", + "src": "7785:180:13" + }, + { + "body": { + "nativeSrc": "8060:28:13", + "nodeType": "YulBlock", + "src": "8060:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8077:1:13", + "nodeType": "YulLiteral", + "src": "8077:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8080:1:13", + "nodeType": "YulLiteral", + "src": "8080:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "8070:6:13", + "nodeType": "YulIdentifier", + "src": "8070:6:13" + }, + "nativeSrc": "8070:12:13", + "nodeType": "YulFunctionCall", + "src": "8070:12:13" + }, + "nativeSrc": "8070:12:13", + "nodeType": "YulExpressionStatement", + "src": "8070:12:13" + } + ] + }, + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nativeSrc": "7971:117:13", + "nodeType": "YulFunctionDefinition", + "src": "7971:117:13" + }, + { + "body": { + "nativeSrc": "8183:28:13", + "nodeType": "YulBlock", + "src": "8183:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8200:1:13", + "nodeType": "YulLiteral", + "src": "8200:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8203:1:13", + "nodeType": "YulLiteral", + "src": "8203:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "8193:6:13", + "nodeType": "YulIdentifier", + "src": "8193:6:13" + }, + "nativeSrc": "8193:12:13", + "nodeType": "YulFunctionCall", + "src": "8193:12:13" + }, + "nativeSrc": "8193:12:13", + "nodeType": "YulExpressionStatement", + "src": "8193:12:13" + } + ] + }, + "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", + "nativeSrc": "8094:117:13", + "nodeType": "YulFunctionDefinition", + "src": "8094:117:13" + }, + { + "body": { + "nativeSrc": "8306:28:13", + "nodeType": "YulBlock", + "src": "8306:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8323:1:13", + "nodeType": "YulLiteral", + "src": "8323:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8326:1:13", + "nodeType": "YulLiteral", + "src": "8326:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "8316:6:13", + "nodeType": "YulIdentifier", + "src": "8316:6:13" + }, + "nativeSrc": "8316:12:13", + "nodeType": "YulFunctionCall", + "src": "8316:12:13" + }, + "nativeSrc": "8316:12:13", + "nodeType": "YulExpressionStatement", + "src": "8316:12:13" + } + ] + }, + "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", + "nativeSrc": "8217:117:13", + "nodeType": "YulFunctionDefinition", + "src": "8217:117:13" + }, + { + "body": { + "nativeSrc": "8442:297:13", + "nodeType": "YulBlock", + "src": "8442:297:13", + "statements": [ + { + "nativeSrc": "8452:51:13", + "nodeType": "YulVariableDeclaration", + "src": "8452:51:13", + "value": { + "arguments": [ + { + "name": "ptr_to_tail", + "nativeSrc": "8491:11:13", + "nodeType": "YulIdentifier", + "src": "8491:11:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8478:12:13", + "nodeType": "YulIdentifier", + "src": "8478:12:13" + }, + "nativeSrc": "8478:25:13", + "nodeType": "YulFunctionCall", + "src": "8478:25:13" + }, + "variables": [ + { + "name": "rel_offset_of_tail", + "nativeSrc": "8456:18:13", + "nodeType": "YulTypedName", + "src": "8456:18:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8599:83:13", + "nodeType": "YulBlock", + "src": "8599:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nativeSrc": "8601:77:13", + "nodeType": "YulIdentifier", + "src": "8601:77:13" + }, + "nativeSrc": "8601:79:13", + "nodeType": "YulFunctionCall", + "src": "8601:79:13" + }, + "nativeSrc": "8601:79:13", + "nodeType": "YulExpressionStatement", + "src": "8601:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "rel_offset_of_tail", + "nativeSrc": "8526:18:13", + "nodeType": "YulIdentifier", + "src": "8526:18:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nativeSrc": "8554:12:13", + "nodeType": "YulIdentifier", + "src": "8554:12:13" + }, + "nativeSrc": "8554:14:13", + "nodeType": "YulFunctionCall", + "src": "8554:14:13" + }, + { + "name": "base_ref", + "nativeSrc": "8570:8:13", + "nodeType": "YulIdentifier", + "src": "8570:8:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8550:3:13", + "nodeType": "YulIdentifier", + "src": "8550:3:13" + }, + "nativeSrc": "8550:29:13", + "nodeType": "YulFunctionCall", + "src": "8550:29:13" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8585:6:13", + "nodeType": "YulLiteral", + "src": "8585:6:13", + "type": "", + "value": "0x0140" + }, + { + "kind": "number", + "nativeSrc": "8593:1:13", + "nodeType": "YulLiteral", + "src": "8593:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8581:3:13", + "nodeType": "YulIdentifier", + "src": "8581:3:13" + }, + "nativeSrc": "8581:14:13", + "nodeType": "YulFunctionCall", + "src": "8581:14:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8546:3:13", + "nodeType": "YulIdentifier", + "src": "8546:3:13" + }, + "nativeSrc": "8546:50:13", + "nodeType": "YulFunctionCall", + "src": "8546:50:13" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8522:3:13", + "nodeType": "YulIdentifier", + "src": "8522:3:13" + }, + "nativeSrc": "8522:75:13", + "nodeType": "YulFunctionCall", + "src": "8522:75:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8515:6:13", + "nodeType": "YulIdentifier", + "src": "8515:6:13" + }, + "nativeSrc": "8515:83:13", + "nodeType": "YulFunctionCall", + "src": "8515:83:13" + }, + "nativeSrc": "8512:170:13", + "nodeType": "YulIf", + "src": "8512:170:13" + }, + { + "nativeSrc": "8691:41:13", + "nodeType": "YulAssignment", + "src": "8691:41:13", + "value": { + "arguments": [ + { + "name": "base_ref", + "nativeSrc": "8703:8:13", + "nodeType": "YulIdentifier", + "src": "8703:8:13" + }, + { + "name": "rel_offset_of_tail", + "nativeSrc": "8713:18:13", + "nodeType": "YulIdentifier", + "src": "8713:18:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8699:3:13", + "nodeType": "YulIdentifier", + "src": "8699:3:13" + }, + "nativeSrc": "8699:33:13", + "nodeType": "YulFunctionCall", + "src": "8699:33:13" + }, + "variableNames": [ + { + "name": "addr", + "nativeSrc": "8691:4:13", + "nodeType": "YulIdentifier", + "src": "8691:4:13" + } + ] + } + ] + }, + "name": "access_calldata_tail_t_struct$_Attestation_$1641_calldata_ptr", + "nativeSrc": "8340:399:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base_ref", + "nativeSrc": "8411:8:13", + "nodeType": "YulTypedName", + "src": "8411:8:13", + "type": "" + }, + { + "name": "ptr_to_tail", + "nativeSrc": "8421:11:13", + "nodeType": "YulTypedName", + "src": "8421:11:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "addr", + "nativeSrc": "8437:4:13", + "nodeType": "YulTypedName", + "src": "8437:4:13", + "type": "" + } + ], + "src": "8340:399:13" + }, + { + "body": { + "nativeSrc": "8773:152:13", + "nodeType": "YulBlock", + "src": "8773:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8790:1:13", + "nodeType": "YulLiteral", + "src": "8790:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8793:77:13", + "nodeType": "YulLiteral", + "src": "8793:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8783:6:13", + "nodeType": "YulIdentifier", + "src": "8783:6:13" + }, + "nativeSrc": "8783:88:13", + "nodeType": "YulFunctionCall", + "src": "8783:88:13" + }, + "nativeSrc": "8783:88:13", + "nodeType": "YulExpressionStatement", + "src": "8783:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8887:1:13", + "nodeType": "YulLiteral", + "src": "8887:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "8890:4:13", + "nodeType": "YulLiteral", + "src": "8890:4:13", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8880:6:13", + "nodeType": "YulIdentifier", + "src": "8880:6:13" + }, + "nativeSrc": "8880:15:13", + "nodeType": "YulFunctionCall", + "src": "8880:15:13" + }, + "nativeSrc": "8880:15:13", + "nodeType": "YulExpressionStatement", + "src": "8880:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8911:1:13", + "nodeType": "YulLiteral", + "src": "8911:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8914:4:13", + "nodeType": "YulLiteral", + "src": "8914:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "8904:6:13", + "nodeType": "YulIdentifier", + "src": "8904:6:13" + }, + "nativeSrc": "8904:15:13", + "nodeType": "YulFunctionCall", + "src": "8904:15:13" + }, + "nativeSrc": "8904:15:13", + "nodeType": "YulExpressionStatement", + "src": "8904:15:13" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "8745:180:13", + "nodeType": "YulFunctionDefinition", + "src": "8745:180:13" + }, + { + "body": { + "nativeSrc": "8959:152:13", + "nodeType": "YulBlock", + "src": "8959:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8976:1:13", + "nodeType": "YulLiteral", + "src": "8976:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8979:77:13", + "nodeType": "YulLiteral", + "src": "8979:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8969:6:13", + "nodeType": "YulIdentifier", + "src": "8969:6:13" + }, + "nativeSrc": "8969:88:13", + "nodeType": "YulFunctionCall", + "src": "8969:88:13" + }, + "nativeSrc": "8969:88:13", + "nodeType": "YulExpressionStatement", + "src": "8969:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9073:1:13", + "nodeType": "YulLiteral", + "src": "9073:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "9076:4:13", + "nodeType": "YulLiteral", + "src": "9076:4:13", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9066:6:13", + "nodeType": "YulIdentifier", + "src": "9066:6:13" + }, + "nativeSrc": "9066:15:13", + "nodeType": "YulFunctionCall", + "src": "9066:15:13" + }, + "nativeSrc": "9066:15:13", + "nodeType": "YulExpressionStatement", + "src": "9066:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9097:1:13", + "nodeType": "YulLiteral", + "src": "9097:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9100:4:13", + "nodeType": "YulLiteral", + "src": "9100:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9090:6:13", + "nodeType": "YulIdentifier", + "src": "9090:6:13" + }, + "nativeSrc": "9090:15:13", + "nodeType": "YulFunctionCall", + "src": "9090:15:13" + }, + "nativeSrc": "9090:15:13", + "nodeType": "YulExpressionStatement", + "src": "9090:15:13" + } + ] + }, + "name": "panic_error_0x12", + "nativeSrc": "8931:180:13", + "nodeType": "YulFunctionDefinition", + "src": "8931:180:13" + }, + { + "body": { + "nativeSrc": "9162:81:13", + "nodeType": "YulBlock", + "src": "9162:81:13", + "statements": [ + { + "nativeSrc": "9172:65:13", + "nodeType": "YulAssignment", + "src": "9172:65:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9187:5:13", + "nodeType": "YulIdentifier", + "src": "9187:5:13" + }, + { + "kind": "number", + "nativeSrc": "9194:42:13", + "nodeType": "YulLiteral", + "src": "9194:42:13", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9183:3:13", + "nodeType": "YulIdentifier", + "src": "9183:3:13" + }, + "nativeSrc": "9183:54:13", + "nodeType": "YulFunctionCall", + "src": "9183:54:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "9172:7:13", + "nodeType": "YulIdentifier", + "src": "9172:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "9117:126:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9144:5:13", + "nodeType": "YulTypedName", + "src": "9144:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "9154:7:13", + "nodeType": "YulTypedName", + "src": "9154:7:13", + "type": "" + } + ], + "src": "9117:126:13" + }, + { + "body": { + "nativeSrc": "9294:51:13", + "nodeType": "YulBlock", + "src": "9294:51:13", + "statements": [ + { + "nativeSrc": "9304:35:13", + "nodeType": "YulAssignment", + "src": "9304:35:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9333:5:13", + "nodeType": "YulIdentifier", + "src": "9333:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "9315:17:13", + "nodeType": "YulIdentifier", + "src": "9315:17:13" + }, + "nativeSrc": "9315:24:13", + "nodeType": "YulFunctionCall", + "src": "9315:24:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "9304:7:13", + "nodeType": "YulIdentifier", + "src": "9304:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "9249:96:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9276:5:13", + "nodeType": "YulTypedName", + "src": "9276:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "9286:7:13", + "nodeType": "YulTypedName", + "src": "9286:7:13", + "type": "" + } + ], + "src": "9249:96:13" + }, + { + "body": { + "nativeSrc": "9394:79:13", + "nodeType": "YulBlock", + "src": "9394:79:13", + "statements": [ + { + "body": { + "nativeSrc": "9451:16:13", + "nodeType": "YulBlock", + "src": "9451:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9460:1:13", + "nodeType": "YulLiteral", + "src": "9460:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9463:1:13", + "nodeType": "YulLiteral", + "src": "9463:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9453:6:13", + "nodeType": "YulIdentifier", + "src": "9453:6:13" + }, + "nativeSrc": "9453:12:13", + "nodeType": "YulFunctionCall", + "src": "9453:12:13" + }, + "nativeSrc": "9453:12:13", + "nodeType": "YulExpressionStatement", + "src": "9453:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9417:5:13", + "nodeType": "YulIdentifier", + "src": "9417:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9442:5:13", + "nodeType": "YulIdentifier", + "src": "9442:5:13" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "9424:17:13", + "nodeType": "YulIdentifier", + "src": "9424:17:13" + }, + "nativeSrc": "9424:24:13", + "nodeType": "YulFunctionCall", + "src": "9424:24:13" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9414:2:13", + "nodeType": "YulIdentifier", + "src": "9414:2:13" + }, + "nativeSrc": "9414:35:13", + "nodeType": "YulFunctionCall", + "src": "9414:35:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9407:6:13", + "nodeType": "YulIdentifier", + "src": "9407:6:13" + }, + "nativeSrc": "9407:43:13", + "nodeType": "YulFunctionCall", + "src": "9407:43:13" + }, + "nativeSrc": "9404:63:13", + "nodeType": "YulIf", + "src": "9404:63:13" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "9351:122:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9387:5:13", + "nodeType": "YulTypedName", + "src": "9387:5:13", + "type": "" + } + ], + "src": "9351:122:13" + }, + { + "body": { + "nativeSrc": "9531:87:13", + "nodeType": "YulBlock", + "src": "9531:87:13", + "statements": [ + { + "nativeSrc": "9541:29:13", + "nodeType": "YulAssignment", + "src": "9541:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9563:6:13", + "nodeType": "YulIdentifier", + "src": "9563:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9550:12:13", + "nodeType": "YulIdentifier", + "src": "9550:12:13" + }, + "nativeSrc": "9550:20:13", + "nodeType": "YulFunctionCall", + "src": "9550:20:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9541:5:13", + "nodeType": "YulIdentifier", + "src": "9541:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9606:5:13", + "nodeType": "YulIdentifier", + "src": "9606:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "9579:26:13", + "nodeType": "YulIdentifier", + "src": "9579:26:13" + }, + "nativeSrc": "9579:33:13", + "nodeType": "YulFunctionCall", + "src": "9579:33:13" + }, + "nativeSrc": "9579:33:13", + "nodeType": "YulExpressionStatement", + "src": "9579:33:13" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "9479:139:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9509:6:13", + "nodeType": "YulTypedName", + "src": "9509:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9517:3:13", + "nodeType": "YulTypedName", + "src": "9517:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9525:5:13", + "nodeType": "YulTypedName", + "src": "9525:5:13", + "type": "" + } + ], + "src": "9479:139:13" + }, + { + "body": { + "nativeSrc": "9690:263:13", + "nodeType": "YulBlock", + "src": "9690:263:13", + "statements": [ + { + "body": { + "nativeSrc": "9736:83:13", + "nodeType": "YulBlock", + "src": "9736:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "9738:77:13", + "nodeType": "YulIdentifier", + "src": "9738:77:13" + }, + "nativeSrc": "9738:79:13", + "nodeType": "YulFunctionCall", + "src": "9738:79:13" + }, + "nativeSrc": "9738:79:13", + "nodeType": "YulExpressionStatement", + "src": "9738:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9711:7:13", + "nodeType": "YulIdentifier", + "src": "9711:7:13" + }, + { + "name": "headStart", + "nativeSrc": "9720:9:13", + "nodeType": "YulIdentifier", + "src": "9720:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9707:3:13", + "nodeType": "YulIdentifier", + "src": "9707:3:13" + }, + "nativeSrc": "9707:23:13", + "nodeType": "YulFunctionCall", + "src": "9707:23:13" + }, + { + "kind": "number", + "nativeSrc": "9732:2:13", + "nodeType": "YulLiteral", + "src": "9732:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9703:3:13", + "nodeType": "YulIdentifier", + "src": "9703:3:13" + }, + "nativeSrc": "9703:32:13", + "nodeType": "YulFunctionCall", + "src": "9703:32:13" + }, + "nativeSrc": "9700:119:13", + "nodeType": "YulIf", + "src": "9700:119:13" + }, + { + "nativeSrc": "9829:117:13", + "nodeType": "YulBlock", + "src": "9829:117:13", + "statements": [ + { + "nativeSrc": "9844:15:13", + "nodeType": "YulVariableDeclaration", + "src": "9844:15:13", + "value": { + "kind": "number", + "nativeSrc": "9858:1:13", + "nodeType": "YulLiteral", + "src": "9858:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9848:6:13", + "nodeType": "YulTypedName", + "src": "9848:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "9873:63:13", + "nodeType": "YulAssignment", + "src": "9873:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9908:9:13", + "nodeType": "YulIdentifier", + "src": "9908:9:13" + }, + { + "name": "offset", + "nativeSrc": "9919:6:13", + "nodeType": "YulIdentifier", + "src": "9919:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9904:3:13", + "nodeType": "YulIdentifier", + "src": "9904:3:13" + }, + "nativeSrc": "9904:22:13", + "nodeType": "YulFunctionCall", + "src": "9904:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "9928:7:13", + "nodeType": "YulIdentifier", + "src": "9928:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "9883:20:13", + "nodeType": "YulIdentifier", + "src": "9883:20:13" + }, + "nativeSrc": "9883:53:13", + "nodeType": "YulFunctionCall", + "src": "9883:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9873:6:13", + "nodeType": "YulIdentifier", + "src": "9873:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "9624:329:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9660:9:13", + "nodeType": "YulTypedName", + "src": "9660:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9671:7:13", + "nodeType": "YulTypedName", + "src": "9671:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9683:6:13", + "nodeType": "YulTypedName", + "src": "9683:6:13", + "type": "" + } + ], + "src": "9624:329:13" + }, + { + "body": { + "nativeSrc": "10049:634:13", + "nodeType": "YulBlock", + "src": "10049:634:13", + "statements": [ + { + "nativeSrc": "10059:51:13", + "nodeType": "YulVariableDeclaration", + "src": "10059:51:13", + "value": { + "arguments": [ + { + "name": "ptr_to_tail", + "nativeSrc": "10098:11:13", + "nodeType": "YulIdentifier", + "src": "10098:11:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10085:12:13", + "nodeType": "YulIdentifier", + "src": "10085:12:13" + }, + "nativeSrc": "10085:25:13", + "nodeType": "YulFunctionCall", + "src": "10085:25:13" + }, + "variables": [ + { + "name": "rel_offset_of_tail", + "nativeSrc": "10063:18:13", + "nodeType": "YulTypedName", + "src": "10063:18:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10204:83:13", + "nodeType": "YulBlock", + "src": "10204:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nativeSrc": "10206:77:13", + "nodeType": "YulIdentifier", + "src": "10206:77:13" + }, + "nativeSrc": "10206:79:13", + "nodeType": "YulFunctionCall", + "src": "10206:79:13" + }, + "nativeSrc": "10206:79:13", + "nodeType": "YulExpressionStatement", + "src": "10206:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "rel_offset_of_tail", + "nativeSrc": "10133:18:13", + "nodeType": "YulIdentifier", + "src": "10133:18:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nativeSrc": "10161:12:13", + "nodeType": "YulIdentifier", + "src": "10161:12:13" + }, + "nativeSrc": "10161:14:13", + "nodeType": "YulFunctionCall", + "src": "10161:14:13" + }, + { + "name": "base_ref", + "nativeSrc": "10177:8:13", + "nodeType": "YulIdentifier", + "src": "10177:8:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10157:3:13", + "nodeType": "YulIdentifier", + "src": "10157:3:13" + }, + "nativeSrc": "10157:29:13", + "nodeType": "YulFunctionCall", + "src": "10157:29:13" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10192:4:13", + "nodeType": "YulLiteral", + "src": "10192:4:13", + "type": "", + "value": "0x20" + }, + { + "kind": "number", + "nativeSrc": "10198:1:13", + "nodeType": "YulLiteral", + "src": "10198:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10188:3:13", + "nodeType": "YulIdentifier", + "src": "10188:3:13" + }, + "nativeSrc": "10188:12:13", + "nodeType": "YulFunctionCall", + "src": "10188:12:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10153:3:13", + "nodeType": "YulIdentifier", + "src": "10153:3:13" + }, + "nativeSrc": "10153:48:13", + "nodeType": "YulFunctionCall", + "src": "10153:48:13" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10129:3:13", + "nodeType": "YulIdentifier", + "src": "10129:3:13" + }, + "nativeSrc": "10129:73:13", + "nodeType": "YulFunctionCall", + "src": "10129:73:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10122:6:13", + "nodeType": "YulIdentifier", + "src": "10122:6:13" + }, + "nativeSrc": "10122:81:13", + "nodeType": "YulFunctionCall", + "src": "10122:81:13" + }, + "nativeSrc": "10119:168:13", + "nodeType": "YulIf", + "src": "10119:168:13" + }, + { + "nativeSrc": "10296:41:13", + "nodeType": "YulAssignment", + "src": "10296:41:13", + "value": { + "arguments": [ + { + "name": "base_ref", + "nativeSrc": "10308:8:13", + "nodeType": "YulIdentifier", + "src": "10308:8:13" + }, + { + "name": "rel_offset_of_tail", + "nativeSrc": "10318:18:13", + "nodeType": "YulIdentifier", + "src": "10318:18:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10304:3:13", + "nodeType": "YulIdentifier", + "src": "10304:3:13" + }, + "nativeSrc": "10304:33:13", + "nodeType": "YulFunctionCall", + "src": "10304:33:13" + }, + "variableNames": [ + { + "name": "addr", + "nativeSrc": "10296:4:13", + "nodeType": "YulIdentifier", + "src": "10296:4:13" + } + ] + }, + { + "nativeSrc": "10347:28:13", + "nodeType": "YulAssignment", + "src": "10347:28:13", + "value": { + "arguments": [ + { + "name": "addr", + "nativeSrc": "10370:4:13", + "nodeType": "YulIdentifier", + "src": "10370:4:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10357:12:13", + "nodeType": "YulIdentifier", + "src": "10357:12:13" + }, + "nativeSrc": "10357:18:13", + "nodeType": "YulFunctionCall", + "src": "10357:18:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "10347:6:13", + "nodeType": "YulIdentifier", + "src": "10347:6:13" + } + ] + }, + { + "body": { + "nativeSrc": "10418:83:13", + "nodeType": "YulBlock", + "src": "10418:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", + "nativeSrc": "10420:77:13", + "nodeType": "YulIdentifier", + "src": "10420:77:13" + }, + "nativeSrc": "10420:79:13", + "nodeType": "YulFunctionCall", + "src": "10420:79:13" + }, + "nativeSrc": "10420:79:13", + "nodeType": "YulExpressionStatement", + "src": "10420:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "10390:6:13", + "nodeType": "YulIdentifier", + "src": "10390:6:13" + }, + { + "kind": "number", + "nativeSrc": "10398:18:13", + "nodeType": "YulLiteral", + "src": "10398:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10387:2:13", + "nodeType": "YulIdentifier", + "src": "10387:2:13" + }, + "nativeSrc": "10387:30:13", + "nodeType": "YulFunctionCall", + "src": "10387:30:13" + }, + "nativeSrc": "10384:117:13", + "nodeType": "YulIf", + "src": "10384:117:13" + }, + { + "nativeSrc": "10510:21:13", + "nodeType": "YulAssignment", + "src": "10510:21:13", + "value": { + "arguments": [ + { + "name": "addr", + "nativeSrc": "10522:4:13", + "nodeType": "YulIdentifier", + "src": "10522:4:13" + }, + { + "kind": "number", + "nativeSrc": "10528:2:13", + "nodeType": "YulLiteral", + "src": "10528:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10518:3:13", + "nodeType": "YulIdentifier", + "src": "10518:3:13" + }, + "nativeSrc": "10518:13:13", + "nodeType": "YulFunctionCall", + "src": "10518:13:13" + }, + "variableNames": [ + { + "name": "addr", + "nativeSrc": "10510:4:13", + "nodeType": "YulIdentifier", + "src": "10510:4:13" + } + ] + }, + { + "body": { + "nativeSrc": "10593:83:13", + "nodeType": "YulBlock", + "src": "10593:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", + "nativeSrc": "10595:77:13", + "nodeType": "YulIdentifier", + "src": "10595:77:13" + }, + "nativeSrc": "10595:79:13", + "nodeType": "YulFunctionCall", + "src": "10595:79:13" + }, + "nativeSrc": "10595:79:13", + "nodeType": "YulExpressionStatement", + "src": "10595:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "addr", + "nativeSrc": "10547:4:13", + "nodeType": "YulIdentifier", + "src": "10547:4:13" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nativeSrc": "10557:12:13", + "nodeType": "YulIdentifier", + "src": "10557:12:13" + }, + "nativeSrc": "10557:14:13", + "nodeType": "YulFunctionCall", + "src": "10557:14:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10577:6:13", + "nodeType": "YulIdentifier", + "src": "10577:6:13" + }, + { + "kind": "number", + "nativeSrc": "10585:4:13", + "nodeType": "YulLiteral", + "src": "10585:4:13", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "10573:3:13", + "nodeType": "YulIdentifier", + "src": "10573:3:13" + }, + "nativeSrc": "10573:17:13", + "nodeType": "YulFunctionCall", + "src": "10573:17:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10553:3:13", + "nodeType": "YulIdentifier", + "src": "10553:3:13" + }, + "nativeSrc": "10553:38:13", + "nodeType": "YulFunctionCall", + "src": "10553:38:13" + } + ], + "functionName": { + "name": "sgt", + "nativeSrc": "10543:3:13", + "nodeType": "YulIdentifier", + "src": "10543:3:13" + }, + "nativeSrc": "10543:49:13", + "nodeType": "YulFunctionCall", + "src": "10543:49:13" + }, + "nativeSrc": "10540:136:13", + "nodeType": "YulIf", + "src": "10540:136:13" + } + ] + }, + "name": "access_calldata_tail_t_bytes_calldata_ptr", + "nativeSrc": "9959:724:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base_ref", + "nativeSrc": "10010:8:13", + "nodeType": "YulTypedName", + "src": "10010:8:13", + "type": "" + }, + { + "name": "ptr_to_tail", + "nativeSrc": "10020:11:13", + "nodeType": "YulTypedName", + "src": "10020:11:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "addr", + "nativeSrc": "10036:4:13", + "nodeType": "YulTypedName", + "src": "10036:4:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "10042:6:13", + "nodeType": "YulTypedName", + "src": "10042:6:13", + "type": "" + } + ], + "src": "9959:724:13" + }, + { + "body": { + "nativeSrc": "10752:80:13", + "nodeType": "YulBlock", + "src": "10752:80:13", + "statements": [ + { + "nativeSrc": "10762:22:13", + "nodeType": "YulAssignment", + "src": "10762:22:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10777:6:13", + "nodeType": "YulIdentifier", + "src": "10777:6:13" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10771:5:13", + "nodeType": "YulIdentifier", + "src": "10771:5:13" + }, + "nativeSrc": "10771:13:13", + "nodeType": "YulFunctionCall", + "src": "10771:13:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "10762:5:13", + "nodeType": "YulIdentifier", + "src": "10762:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10820:5:13", + "nodeType": "YulIdentifier", + "src": "10820:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "10793:26:13", + "nodeType": "YulIdentifier", + "src": "10793:26:13" + }, + "nativeSrc": "10793:33:13", + "nodeType": "YulFunctionCall", + "src": "10793:33:13" + }, + "nativeSrc": "10793:33:13", + "nodeType": "YulExpressionStatement", + "src": "10793:33:13" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "10689:143:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "10730:6:13", + "nodeType": "YulTypedName", + "src": "10730:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "10738:3:13", + "nodeType": "YulTypedName", + "src": "10738:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "10746:5:13", + "nodeType": "YulTypedName", + "src": "10746:5:13", + "type": "" + } + ], + "src": "10689:143:13" + }, + { + "body": { + "nativeSrc": "10915:274:13", + "nodeType": "YulBlock", + "src": "10915:274:13", + "statements": [ + { + "body": { + "nativeSrc": "10961:83:13", + "nodeType": "YulBlock", + "src": "10961:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "10963:77:13", + "nodeType": "YulIdentifier", + "src": "10963:77:13" + }, + "nativeSrc": "10963:79:13", + "nodeType": "YulFunctionCall", + "src": "10963:79:13" + }, + "nativeSrc": "10963:79:13", + "nodeType": "YulExpressionStatement", + "src": "10963:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10936:7:13", + "nodeType": "YulIdentifier", + "src": "10936:7:13" + }, + { + "name": "headStart", + "nativeSrc": "10945:9:13", + "nodeType": "YulIdentifier", + "src": "10945:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10932:3:13", + "nodeType": "YulIdentifier", + "src": "10932:3:13" + }, + "nativeSrc": "10932:23:13", + "nodeType": "YulFunctionCall", + "src": "10932:23:13" + }, + { + "kind": "number", + "nativeSrc": "10957:2:13", + "nodeType": "YulLiteral", + "src": "10957:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10928:3:13", + "nodeType": "YulIdentifier", + "src": "10928:3:13" + }, + "nativeSrc": "10928:32:13", + "nodeType": "YulFunctionCall", + "src": "10928:32:13" + }, + "nativeSrc": "10925:119:13", + "nodeType": "YulIf", + "src": "10925:119:13" + }, + { + "nativeSrc": "11054:128:13", + "nodeType": "YulBlock", + "src": "11054:128:13", + "statements": [ + { + "nativeSrc": "11069:15:13", + "nodeType": "YulVariableDeclaration", + "src": "11069:15:13", + "value": { + "kind": "number", + "nativeSrc": "11083:1:13", + "nodeType": "YulLiteral", + "src": "11083:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11073:6:13", + "nodeType": "YulTypedName", + "src": "11073:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "11098:74:13", + "nodeType": "YulAssignment", + "src": "11098:74:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11144:9:13", + "nodeType": "YulIdentifier", + "src": "11144:9:13" + }, + { + "name": "offset", + "nativeSrc": "11155:6:13", + "nodeType": "YulIdentifier", + "src": "11155:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11140:3:13", + "nodeType": "YulIdentifier", + "src": "11140:3:13" + }, + "nativeSrc": "11140:22:13", + "nodeType": "YulFunctionCall", + "src": "11140:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "11164:7:13", + "nodeType": "YulIdentifier", + "src": "11164:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "11108:31:13", + "nodeType": "YulIdentifier", + "src": "11108:31:13" + }, + "nativeSrc": "11108:64:13", + "nodeType": "YulFunctionCall", + "src": "11108:64:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11098:6:13", + "nodeType": "YulIdentifier", + "src": "11098:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nativeSrc": "10838:351:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10885:9:13", + "nodeType": "YulTypedName", + "src": "10885:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10896:7:13", + "nodeType": "YulTypedName", + "src": "10896:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10908:6:13", + "nodeType": "YulTypedName", + "src": "10908:6:13", + "type": "" + } + ], + "src": "10838:351:13" + }, + { + "body": { + "nativeSrc": "11301:58:13", + "nodeType": "YulBlock", + "src": "11301:58:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11323:6:13", + "nodeType": "YulIdentifier", + "src": "11323:6:13" + }, + { + "kind": "number", + "nativeSrc": "11331:1:13", + "nodeType": "YulLiteral", + "src": "11331:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11319:3:13", + "nodeType": "YulIdentifier", + "src": "11319:3:13" + }, + "nativeSrc": "11319:14:13", + "nodeType": "YulFunctionCall", + "src": "11319:14:13" + }, + { + "hexValue": "4461746120746f6f2073686f7274", + "kind": "string", + "nativeSrc": "11335:16:13", + "nodeType": "YulLiteral", + "src": "11335:16:13", + "type": "", + "value": "Data too short" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11312:6:13", + "nodeType": "YulIdentifier", + "src": "11312:6:13" + }, + "nativeSrc": "11312:40:13", + "nodeType": "YulFunctionCall", + "src": "11312:40:13" + }, + "nativeSrc": "11312:40:13", + "nodeType": "YulExpressionStatement", + "src": "11312:40:13" + } + ] + }, + "name": "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", + "nativeSrc": "11195:164:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "11293:6:13", + "nodeType": "YulTypedName", + "src": "11293:6:13", + "type": "" + } + ], + "src": "11195:164:13" + }, + { + "body": { + "nativeSrc": "11511:220:13", + "nodeType": "YulBlock", + "src": "11511:220:13", + "statements": [ + { + "nativeSrc": "11521:74:13", + "nodeType": "YulAssignment", + "src": "11521:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11587:3:13", + "nodeType": "YulIdentifier", + "src": "11587:3:13" + }, + { + "kind": "number", + "nativeSrc": "11592:2:13", + "nodeType": "YulLiteral", + "src": "11592:2:13", + "type": "", + "value": "14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "11528:58:13", + "nodeType": "YulIdentifier", + "src": "11528:58:13" + }, + "nativeSrc": "11528:67:13", + "nodeType": "YulFunctionCall", + "src": "11528:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "11521:3:13", + "nodeType": "YulIdentifier", + "src": "11521:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11693:3:13", + "nodeType": "YulIdentifier", + "src": "11693:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", + "nativeSrc": "11604:88:13", + "nodeType": "YulIdentifier", + "src": "11604:88:13" + }, + "nativeSrc": "11604:93:13", + "nodeType": "YulFunctionCall", + "src": "11604:93:13" + }, + "nativeSrc": "11604:93:13", + "nodeType": "YulExpressionStatement", + "src": "11604:93:13" + }, + { + "nativeSrc": "11706:19:13", + "nodeType": "YulAssignment", + "src": "11706:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11717:3:13", + "nodeType": "YulIdentifier", + "src": "11717:3:13" + }, + { + "kind": "number", + "nativeSrc": "11722:2:13", + "nodeType": "YulLiteral", + "src": "11722:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11713:3:13", + "nodeType": "YulIdentifier", + "src": "11713:3:13" + }, + "nativeSrc": "11713:12:13", + "nodeType": "YulFunctionCall", + "src": "11713:12:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "11706:3:13", + "nodeType": "YulIdentifier", + "src": "11706:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11365:366:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "11499:3:13", + "nodeType": "YulTypedName", + "src": "11499:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "11507:3:13", + "nodeType": "YulTypedName", + "src": "11507:3:13", + "type": "" + } + ], + "src": "11365:366:13" + }, + { + "body": { + "nativeSrc": "11908:248:13", + "nodeType": "YulBlock", + "src": "11908:248:13", + "statements": [ + { + "nativeSrc": "11918:26:13", + "nodeType": "YulAssignment", + "src": "11918:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11930:9:13", + "nodeType": "YulIdentifier", + "src": "11930:9:13" + }, + { + "kind": "number", + "nativeSrc": "11941:2:13", + "nodeType": "YulLiteral", + "src": "11941:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11926:3:13", + "nodeType": "YulIdentifier", + "src": "11926:3:13" + }, + "nativeSrc": "11926:18:13", + "nodeType": "YulFunctionCall", + "src": "11926:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11918:4:13", + "nodeType": "YulIdentifier", + "src": "11918:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11965:9:13", + "nodeType": "YulIdentifier", + "src": "11965:9:13" + }, + { + "kind": "number", + "nativeSrc": "11976:1:13", + "nodeType": "YulLiteral", + "src": "11976:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11961:3:13", + "nodeType": "YulIdentifier", + "src": "11961:3:13" + }, + "nativeSrc": "11961:17:13", + "nodeType": "YulFunctionCall", + "src": "11961:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "11984:4:13", + "nodeType": "YulIdentifier", + "src": "11984:4:13" + }, + { + "name": "headStart", + "nativeSrc": "11990:9:13", + "nodeType": "YulIdentifier", + "src": "11990:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11980:3:13", + "nodeType": "YulIdentifier", + "src": "11980:3:13" + }, + "nativeSrc": "11980:20:13", + "nodeType": "YulFunctionCall", + "src": "11980:20:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11954:6:13", + "nodeType": "YulIdentifier", + "src": "11954:6:13" + }, + "nativeSrc": "11954:47:13", + "nodeType": "YulFunctionCall", + "src": "11954:47:13" + }, + "nativeSrc": "11954:47:13", + "nodeType": "YulExpressionStatement", + "src": "11954:47:13" + }, + { + "nativeSrc": "12010:139:13", + "nodeType": "YulAssignment", + "src": "12010:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "12144:4:13", + "nodeType": "YulIdentifier", + "src": "12144:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack", + "nativeSrc": "12018:124:13", + "nodeType": "YulIdentifier", + "src": "12018:124:13" + }, + "nativeSrc": "12018:131:13", + "nodeType": "YulFunctionCall", + "src": "12018:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12010:4:13", + "nodeType": "YulIdentifier", + "src": "12010:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11737:419:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11888:9:13", + "nodeType": "YulTypedName", + "src": "11888:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11903:4:13", + "nodeType": "YulTypedName", + "src": "11903:4:13", + "type": "" + } + ], + "src": "11737:419:13" + } + ] + }, + "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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 copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\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_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 Attestation[]\n function abi_decode_t_array$_t_struct$_Attestation_$1641_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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_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 value2, value3 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\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 revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct Attestation\n function abi_decode_t_struct$_Attestation_$1641_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 320) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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$_Attestation_$1641_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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 store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(memPtr) {\n\n mstore(add(memPtr, 0), \".\")\n\n }\n\n function abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(pos)\n end := add(pos, 1)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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$_Attestation_$1641_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(0x0140, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\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(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\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 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 abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_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_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94(memPtr) {\n\n mstore(add(memPtr, 0), \"Data too short\")\n\n }\n\n function abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__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_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 13, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "2113": [ + { + "length": 32, + "start": 1414 + } + ], + "2425": [ + { + "length": 32, + "start": 448 + } + ], + "2427": [ + { + "length": 32, + "start": 489 + } + ], + "2429": [ + { + "length": 32, + "start": 530 + } + ] + }, + "linkReferences": {}, + "object": "608060405260043610610058575f3560e01c806354fd4d50146100a157806388e5b2d9146100cb57806391db0b7e146100fb578063ce46e0461461012b578063e49617e114610155578063e60c3505146101855761009d565b3661009d576100656101b5565b61009b576040517f1574f9f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b3480156100ac575f80fd5b506100b56101b9565b6040516100c29190610a5f565b60405180910390f35b6100e560048036038101906100e09190610b3d565b61025c565b6040516100f29190610bd5565b60405180910390f35b61011560048036038101906101109190610b3d565b610371565b6040516101229190610bd5565b60405180910390f35b348015610136575f80fd5b5061013f6101b5565b60405161014c9190610bd5565b60405180910390f35b61016f600480360381019061016a9190610c11565b610486565b60405161017c9190610bd5565b60405180910390f35b61019f600480360381019061019a9190610c11565b6104a0565b6040516101ac9190610bd5565b60405180910390f35b5f90565b60606101e47f00000000000000000000000000000000000000000000000000000000000000006104ba565b61020d7f00000000000000000000000000000000000000000000000000000000000000006104ba565b6102367f00000000000000000000000000000000000000000000000000000000000000006104ba565b60405160200161024893929190610cdc565b604051602081830303815290604052905090565b5f610265610584565b5f8585905090508383905081146102a8576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610361575f8686838181106102ca576102c9610d22565b5b9050602002013590508281111561030d576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033b89898481811061032357610322610d22565b5b90506020028101906103359190610d5b565b8261060b565b61034b575f945050505050610369565b80830392505061035a81610616565b90506102ae565b506001925050505b949350505050565b5f61037a610584565b5f8585905090508383905081146103bd576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610476575f8686838181106103df576103de610d22565b5b90506020020135905082811115610422576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045089898481811061043857610437610d22565b5b905060200281019061044a9190610d5b565b82610622565b610460575f94505050505061047e565b80830392505061046f81610616565b90506103c3565b506001925050505b949350505050565b5f61048f610584565b610499823461060b565b9050919050565b5f6104a9610584565b6104b38234610622565b9050919050565b60605f60016104c88461082e565b0190505f8167ffffffffffffffff8111156104e6576104e5610d83565b5b6040519080825280601f01601f1916602001820160405280156105185781602001600182028036833780820191505090505b5090505f82602001820190505b600115610579578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161056e5761056d610db0565b5b0494505f8503610525575b819350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610609576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6001905092915050565b5f600182019050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168360c001602081019061064d9190610e37565b73ffffffffffffffffffffffffffffffffffffffff16036106715760019050610828565b5f8360c00160208101906106859190610e37565b73ffffffffffffffffffffffffffffffffffffffff163b036106a9575f9050610828565b5f610705848061012001906106be9190610e62565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061097f565b90508073ffffffffffffffffffffffffffffffffffffffff168460c00160208101906107319190610e37565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f915050610828565b5f8460c00160208101906107699190610e37565b90508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107d357506040513d601f19601f820116820180604052508101906107d09190610ed8565b60015b6107e1575f92505050610828565b8073ffffffffffffffffffffffffffffffffffffffff168660e001602081019061080b9190610e37565b73ffffffffffffffffffffffffffffffffffffffff161493505050505b92915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061088a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816108805761087f610db0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106108c7576d04ee2d6d415b85acef810000000083816108bd576108bc610db0565b5b0492506020810190505b662386f26fc1000083106108f657662386f26fc1000083816108ec576108eb610db0565b5b0492506010810190505b6305f5e100831061091f576305f5e100838161091557610914610db0565b5b0492506008810190505b612710831061094457612710838161093a57610939610db0565b5b0492506004810190505b60648310610967576064838161095d5761095c610db0565b5b0492506002810190505b600a8310610976576001810190505b80915050919050565b5f6020825110156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90610f4d565b60405180910390fd5b5f6020830151905073ffffffffffffffffffffffffffffffffffffffff8116905080915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610a31826109ef565b610a3b81856109f9565b9350610a4b818560208601610a09565b610a5481610a17565b840191505092915050565b5f6020820190508181035f830152610a778184610a27565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610aa857610aa7610a87565b5b8235905067ffffffffffffffff811115610ac557610ac4610a8b565b5b602083019150836020820283011115610ae157610ae0610a8f565b5b9250929050565b5f8083601f840112610afd57610afc610a87565b5b8235905067ffffffffffffffff811115610b1a57610b19610a8b565b5b602083019150836020820283011115610b3657610b35610a8f565b5b9250929050565b5f805f8060408587031215610b5557610b54610a7f565b5b5f85013567ffffffffffffffff811115610b7257610b71610a83565b5b610b7e87828801610a93565b9450945050602085013567ffffffffffffffff811115610ba157610ba0610a83565b5b610bad87828801610ae8565b925092505092959194509250565b5f8115159050919050565b610bcf81610bbb565b82525050565b5f602082019050610be85f830184610bc6565b92915050565b5f80fd5b5f6101408284031215610c0857610c07610bee565b5b81905092915050565b5f60208284031215610c2657610c25610a7f565b5b5f82013567ffffffffffffffff811115610c4357610c42610a83565b5b610c4f84828501610bf2565b91505092915050565b5f81905092915050565b5f610c6c826109ef565b610c768185610c58565b9350610c86818560208601610a09565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610cc6600183610c58565b9150610cd182610c92565b600182019050919050565b5f610ce78286610c62565b9150610cf282610cba565b9150610cfe8285610c62565b9150610d0982610cba565b9150610d158284610c62565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f8235600161014003833603038112610d7757610d76610d4f565b5b80830191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0682610ddd565b9050919050565b610e1681610dfc565b8114610e20575f80fd5b50565b5f81359050610e3181610e0d565b92915050565b5f60208284031215610e4c57610e4b610a7f565b5b5f610e5984828501610e23565b91505092915050565b5f8083356001602003843603038112610e7e57610e7d610d4f565b5b80840192508235915067ffffffffffffffff821115610ea057610e9f610d53565b5b602083019250600182023603831315610ebc57610ebb610d57565b5b509250929050565b5f81519050610ed281610e0d565b92915050565b5f60208284031215610eed57610eec610a7f565b5b5f610efa84828501610ec4565b91505092915050565b7f4461746120746f6f2073686f72740000000000000000000000000000000000005f82015250565b5f610f37600e836109f9565b9150610f4282610f03565b602082019050919050565b5f6020820190508181035f830152610f6481610f2b565b905091905056fea2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x58 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x88E5B2D9 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x91DB0B7E EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xCE46E046 EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0xE49617E1 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0xE60C3505 EQ PUSH2 0x185 JUMPI PUSH2 0x9D JUMP JUMPDEST CALLDATASIZE PUSH2 0x9D JUMPI PUSH2 0x65 PUSH2 0x1B5 JUMP JUMPDEST PUSH2 0x9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x1574F9F300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xA5F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0xB3D JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0xBD5 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 0xB3D JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x13F PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x486 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1E4 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x20D PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x236 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH2 0x265 PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x361 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x2CA JUMPI PUSH2 0x2C9 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x33B DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x335 SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x60B JUMP JUMPDEST PUSH2 0x34B JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x369 JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x35A DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x37A PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x3BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x3DF JUMPI PUSH2 0x3DE PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x422 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x450 DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x438 JUMPI PUSH2 0x437 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x44A SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x460 JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x47E JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x46F DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x3C3 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48F PUSH2 0x584 JUMP JUMPDEST PUSH2 0x499 DUP3 CALLVALUE PUSH2 0x60B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x4A9 PUSH2 0x584 JUMP JUMPDEST PUSH2 0x4B3 DUP3 CALLVALUE PUSH2 0x622 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0x4C8 DUP5 PUSH2 0x82E JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E6 JUMPI PUSH2 0x4E5 PUSH2 0xD83 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x579 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x525 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4CA8886700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x671 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x685 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0x6A9 JUMPI PUSH0 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 PUSH2 0x705 DUP5 DUP1 PUSH2 0x120 ADD SWAP1 PUSH2 0x6BE SWAP2 SWAP1 PUSH2 0xE62 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 PUSH0 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 PUSH2 0x97F JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x731 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x755 JUMPI PUSH0 SWAP2 POP POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x769 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x7D3 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x7E1 JUMPI PUSH0 SWAP3 POP POP POP PUSH2 0x828 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH1 0xE0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x80B SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x88A JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x880 JUMPI PUSH2 0x87F PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x8C7 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x8BD JUMPI PUSH2 0x8BC PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x8F6 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x8EC JUMPI PUSH2 0x8EB PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x91F JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x915 JUMPI PUSH2 0x914 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x944 JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x967 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x95D JUMPI PUSH2 0x95C PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x976 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 MLOAD LT ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BC SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x20 DUP4 ADD MLOAD SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA31 DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xA3B DUP2 DUP6 PUSH2 0x9F9 JUMP JUMPDEST SWAP4 POP PUSH2 0xA4B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0xA17 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA77 DUP2 DUP5 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAA8 JUMPI PUSH2 0xAA7 PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAC5 JUMPI PUSH2 0xAC4 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAE1 JUMPI PUSH2 0xAE0 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAFD JUMPI PUSH2 0xAFC PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xB36 JUMPI PUSH2 0xB35 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB55 JUMPI PUSH2 0xB54 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB72 JUMPI PUSH2 0xB71 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xB7E DUP8 DUP3 DUP9 ADD PUSH2 0xA93 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xBAD DUP8 DUP3 DUP9 ADD PUSH2 0xAE8 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCF DUP2 PUSH2 0xBBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH0 DUP4 ADD DUP5 PUSH2 0xBC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH2 0x140 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC08 JUMPI PUSH2 0xC07 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC43 JUMPI PUSH2 0xC42 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xC4F DUP5 DUP3 DUP6 ADD PUSH2 0xBF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6C DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xC76 DUP2 DUP6 PUSH2 0xC58 JUMP JUMPDEST SWAP4 POP PUSH2 0xC86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xCC6 PUSH1 0x1 DUP4 PUSH2 0xC58 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD1 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCE7 DUP3 DUP7 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xCF2 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xCFE DUP3 DUP6 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xD09 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xD15 DUP3 DUP5 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH2 0x140 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD77 JUMPI PUSH2 0xD76 PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE06 DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE16 DUP2 PUSH2 0xDFC JUMP JUMPDEST DUP2 EQ PUSH2 0xE20 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE31 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4C JUMPI PUSH2 0xE4B PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE59 DUP5 DUP3 DUP6 ADD PUSH2 0xE23 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xE7E JUMPI PUSH2 0xE7D PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xD53 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xD57 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xED2 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEED JUMPI PUSH2 0xEEC PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEFA DUP5 DUP3 DUP6 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4461746120746F6F2073686F7274000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xF37 PUSH1 0xE DUP4 PUSH2 0x9F9 JUMP JUMPDEST SWAP2 POP PUSH2 0xF42 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF64 DUP2 PUSH2 0xF2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE SWAP12 0xB2 0xC6 SWAP2 0xEB PUSH11 0x4020C67F4FBBD742291EF MUL TLOAD 0xD4 0xD0 SWAP11 SWAP5 GAS 0x4D NOT INVALID SELFDESTRUCT RETURNDATACOPY 0x4E PUSH3 0x64736F PUSH13 0x634300081A0033000000000000 ", + "sourceMap": "344:2067:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1140:11:10;:9;:11::i;:::-;1135:62;;1174:12;;;;;;;;;;;;;;1135:62;344:2067:12;;;;;945:235:11;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3124:1460:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1433:1461;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2936:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1245;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:85;1022:4;972:85;:::o;945:235:11:-;987:13;1072:24;1089:6;1072:16;:24::i;:::-;1103;1120:6;1103:16;:24::i;:::-;1134;1151:6;1134:16;:24::i;:::-;1055:104;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1012:161;;945:235;:::o;3124:1460:10:-;3265:4;901:10;:8;:10::i;:::-;3281:14:::1;3298:12;;:19;;3281:36;;3341:6;;:13;;3331:6;:23;3327:76;;3377:15;;;;;;;;;;;;;;3327:76;3810:22;3835:9;3810:34;;3860:9;3855:701;3879:6;3875:1;:10;3855:701;;;4012:13;4028:6;;4035:1;4028:9;;;;;;;:::i;:::-;;;;;;;;4012:25;;4063:14;4055:5;:22;4051:87;;;4104:19;;;;;;;;;;;;;;4051:87;4266:32;4275:12;;4288:1;4275:15;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;4292:5;4266:8;:32::i;:::-;4261:84;;4325:5;4318:12;;;;;;;;4261:84;4526:5;4508:23;;;;3908:648;3891:15;3904:1;3891:12;:15::i;:::-;3887:19;;3855:701;;;;4573:4;4566:11;;;;922:1;3124:1460:::0;;;;;;:::o;1433:1461::-;1574:4;901:10;:8;:10::i;:::-;1590:14:::1;1607:12;;:19;;1590:36;;1650:6;;:13;;1640:6;:23;1636:76;;1686:15;;;;;;;;;;;;;;1636:76;2119:22;2144:9;2119:34;;2169:9;2164:702;2188:6;2184:1;:10;2164:702;;;2321:13;2337:6;;2344:1;2337:9;;;;;;;:::i;:::-;;;;;;;;2321:25;;2372:14;2364:5;:22;2360:87;;;2413:19;;;;;;;;;;;;;;2360:87;2576:32;2585:12;;2598:1;2585:15;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2602:5;2576:8;:32::i;:::-;2571:84;;2635:5;2628:12;;;;;;;;2571:84;2836:5;2818:23;;;;2217:649;2200:15;2213:1;2200:12;:15::i;:::-;2196:19;;2164:702;;;;2883:4;2876:11;;;;922:1;1433:1461:::0;;;;;;:::o;2936:146::-;3020:4;901:10;:8;:10::i;:::-;3043:32:::1;3052:11;3065:9;3043:8;:32::i;:::-;3036:39;;2936:146:::0;;;:::o;1245:::-;1329:4;901:10;:8;:10::i;:::-;1352:32:::1;1361:11;1374:9;1352:8;:32::i;:::-;1345:39;;1245:146:::0;;;:::o;637:698:2:-;693:13;742:14;779:1;759:17;770:5;759:10;:17::i;:::-;:21;742:38;;794:20;828:6;817:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:41;;849:11;975:6;971:2;967:15;959:6;955:28;948:35;;1010:282;1017:4;1010:282;;;1041:5;;;;;;;;1180:10;1175:2;1168:5;1164:14;1159:32;1154:3;1146:46;1236:2;1227:11;;;;;;:::i;:::-;;;;;1269:1;1260:5;:10;1010:282;1256:21;1010:282;1312:6;1305:13;;;;;637:698;;;:::o;6031:128:10:-;6100:4;6078:27;;:10;:27;;;6074:79;;6128:14;;;;;;;;;;;;;;6074:79;6031:128::o;2268:141:12:-;2375:4;2398;2391:11;;2268:141;;;;:::o;1397:102:5:-;1444:9;1489:1;1485;:5;1481:9;;1397:102;;;:::o;450:1192:12:-;553:4;697:1;664:35;;:11;:21;;;;;;;;;;:::i;:::-;:35;;;660:77;;722:4;715:11;;;;660:77;848:1;811:11;:21;;;;;;;;;;:::i;:::-;:33;;;:38;807:81;;872:5;865:12;;;;807:81;954:16;973:40;996:11;:16;;;;;;;;:::i;:::-;973:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:22;:40::i;:::-;954:59;;1153:8;1128:33;;:11;:21;;;;;;;;;;:::i;:::-;:33;;;1124:76;;1184:5;1177:12;;;;;1124:76;1266:23;1300:11;:21;;;;;;;;;;:::i;:::-;1266:56;;1337:15;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1333:303;;1620:5;1613:12;;;;;;1333:303;1494:5;1470:29;;:11;:20;;;;;;;;;;:::i;:::-;:29;;;1463:36;;;;;450:1192;;;;;:::o;12214:916:3:-;12267:7;12286:14;12303:1;12286:18;;12351:8;12342:5;:17;12338:103;;12388:8;12379:17;;;;;;:::i;:::-;;;;;12424:2;12414:12;;;;12338:103;12467:8;12458:5;:17;12454:103;;12504:8;12495:17;;;;;;:::i;:::-;;;;;12540:2;12530:12;;;;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;;;;:::i;:::-;;;;;12656:2;12646:12;;;;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;;;;:::i;:::-;;;;;12770:1;12760:11;;;;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;;;;:::i;:::-;;;;;12883:1;12873:11;;;;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;;;;:::i;:::-;;;;;12996:1;12986:11;;;;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;;;;13025:66;13117:6;13110:13;;;12214:916;;;:::o;1648:613:12:-;1722:7;1764:2;1749:4;:11;:17;;1741:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1897:24;1990:2;1984:4;1980:13;1974:20;1954:40;;2118:42;2100:16;2096:65;2076:85;;2238:16;2231:23;;;1648:613;;;:::o;7:99:13:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:117;1678:1;1675;1668:12;1692:117;1801:1;1798;1791:12;1815:117;1924:1;1921;1914:12;1966:599;2070:8;2080:6;2130:3;2123:4;2115:6;2111:17;2107:27;2097:122;;2138:79;;:::i;:::-;2097:122;2251:6;2238:20;2228:30;;2281:18;2273:6;2270:30;2267:117;;;2303:79;;:::i;:::-;2267:117;2417:4;2409:6;2405:17;2393:29;;2471:3;2463:4;2455:6;2451:17;2441:8;2437:32;2434:41;2431:128;;;2478:79;;:::i;:::-;2431:128;1966:599;;;;;:::o;2588:568::-;2661:8;2671:6;2721:3;2714:4;2706:6;2702:17;2698:27;2688:122;;2729:79;;:::i;:::-;2688:122;2842:6;2829:20;2819:30;;2872:18;2864:6;2861:30;2858:117;;;2894:79;;:::i;:::-;2858:117;3008:4;3000:6;2996:17;2984:29;;3062:3;3054:4;3046:6;3042:17;3032:8;3028:32;3025:41;3022:128;;;3069:79;;:::i;:::-;3022:128;2588:568;;;;;:::o;3162:996::-;3315:6;3323;3331;3339;3388:2;3376:9;3367:7;3363:23;3359:32;3356:119;;;3394:79;;:::i;:::-;3356:119;3542:1;3531:9;3527:17;3514:31;3572:18;3564:6;3561:30;3558:117;;;3594:79;;:::i;:::-;3558:117;3707:111;3810:7;3801:6;3790:9;3786:22;3707:111;:::i;:::-;3689:129;;;;3485:343;3895:2;3884:9;3880:18;3867:32;3926:18;3918:6;3915:30;3912:117;;;3948:79;;:::i;:::-;3912:117;4061:80;4133:7;4124:6;4113:9;4109:22;4061:80;:::i;:::-;4043:98;;;;3838:313;3162:996;;;;;;;:::o;4164:90::-;4198:7;4241:5;4234:13;4227:21;4216:32;;4164:90;;;:::o;4260:109::-;4341:21;4356:5;4341:21;:::i;:::-;4336:3;4329:34;4260:109;;:::o;4375:210::-;4462:4;4500:2;4489:9;4485:18;4477:26;;4513:65;4575:1;4564:9;4560:17;4551:6;4513:65;:::i;:::-;4375:210;;;;:::o;4591:117::-;4700:1;4697;4690:12;4740:236;4817:5;4858:3;4849:6;4844:3;4840:16;4836:26;4833:113;;;4865:79;;:::i;:::-;4833:113;4964:6;4955:15;;4740:236;;;;:::o;4982:551::-;5072:6;5121:2;5109:9;5100:7;5096:23;5092:32;5089:119;;;5127:79;;:::i;:::-;5089:119;5275:1;5264:9;5260:17;5247:31;5305:18;5297:6;5294:30;5291:117;;;5327:79;;:::i;:::-;5291:117;5432:84;5508:7;5499:6;5488:9;5484:22;5432:84;:::i;:::-;5422:94;;5218:308;4982:551;;;;:::o;5539:148::-;5641:11;5678:3;5663:18;;5539:148;;;;:::o;5693:390::-;5799:3;5827:39;5860:5;5827:39;:::i;:::-;5882:89;5964:6;5959:3;5882:89;:::i;:::-;5875:96;;5980:65;6038:6;6033:3;6026:4;6019:5;6015:16;5980:65;:::i;:::-;6070:6;6065:3;6061:16;6054:23;;5803:280;5693:390;;;;:::o;6089:151::-;6229:3;6225:1;6217:6;6213:14;6206:27;6089:151;:::o;6246:400::-;6406:3;6427:84;6509:1;6504:3;6427:84;:::i;:::-;6420:91;;6520:93;6609:3;6520:93;:::i;:::-;6638:1;6633:3;6629:11;6622:18;;6246:400;;;:::o;6652:1127::-;7082:3;7104:95;7195:3;7186:6;7104:95;:::i;:::-;7097:102;;7216:148;7360:3;7216:148;:::i;:::-;7209:155;;7381:95;7472:3;7463:6;7381:95;:::i;:::-;7374:102;;7493:148;7637:3;7493:148;:::i;:::-;7486:155;;7658:95;7749:3;7740:6;7658:95;:::i;:::-;7651:102;;7770:3;7763:10;;6652:1127;;;;;;:::o;7785:180::-;7833:77;7830:1;7823:88;7930:4;7927:1;7920:15;7954:4;7951:1;7944:15;7971:117;8080:1;8077;8070:12;8094:117;8203:1;8200;8193:12;8217:117;8326:1;8323;8316:12;8340:399;8437:4;8491:11;8478:25;8593:1;8585:6;8581:14;8570:8;8554:14;8550:29;8546:50;8526:18;8522:75;8512:170;;8601:79;;:::i;:::-;8512:170;8713:18;8703:8;8699:33;8691:41;;8442:297;8340:399;;;;:::o;8745:180::-;8793:77;8790:1;8783:88;8890:4;8887:1;8880:15;8914:4;8911:1;8904:15;8931:180;8979:77;8976:1;8969:88;9076:4;9073:1;9066:15;9100:4;9097:1;9090:15;9117:126;9154:7;9194:42;9187:5;9183:54;9172:65;;9117:126;;;:::o;9249:96::-;9286:7;9315:24;9333:5;9315:24;:::i;:::-;9304:35;;9249:96;;;:::o;9351:122::-;9424:24;9442:5;9424:24;:::i;:::-;9417:5;9414:35;9404:63;;9463:1;9460;9453:12;9404:63;9351:122;:::o;9479:139::-;9525:5;9563:6;9550:20;9541:29;;9579:33;9606:5;9579:33;:::i;:::-;9479:139;;;;:::o;9624:329::-;9683:6;9732:2;9720:9;9711:7;9707:23;9703:32;9700:119;;;9738:79;;:::i;:::-;9700:119;9858:1;9883:53;9928:7;9919:6;9908:9;9904:22;9883:53;:::i;:::-;9873:63;;9829:117;9624:329;;;;:::o;9959:724::-;10036:4;10042:6;10098:11;10085:25;10198:1;10192:4;10188:12;10177:8;10161:14;10157:29;10153:48;10133:18;10129:73;10119:168;;10206:79;;:::i;:::-;10119:168;10318:18;10308:8;10304:33;10296:41;;10370:4;10357:18;10347:28;;10398:18;10390:6;10387:30;10384:117;;;10420:79;;:::i;:::-;10384:117;10528:2;10522:4;10518:13;10510:21;;10585:4;10577:6;10573:17;10557:14;10553:38;10547:4;10543:49;10540:136;;;10595:79;;:::i;:::-;10540:136;10049:634;9959:724;;;;;:::o;10689:143::-;10746:5;10777:6;10771:13;10762:22;;10793:33;10820:5;10793:33;:::i;:::-;10689:143;;;;:::o;10838:351::-;10908:6;10957:2;10945:9;10936:7;10932:23;10928:32;10925:119;;;10963:79;;:::i;:::-;10925:119;11083:1;11108:64;11164:7;11155:6;11144:9;11140:22;11108:64;:::i;:::-;11098:74;;11054:128;10838:351;;;;:::o;11195:164::-;11335:16;11331:1;11323:6;11319:14;11312:40;11195:164;:::o;11365:366::-;11507:3;11528:67;11592:2;11587:3;11528:67;:::i;:::-;11521:74;;11604:93;11693:3;11604:93;:::i;:::-;11722:2;11717:3;11713:12;11706:19;;11365:366;;;:::o;11737:419::-;11903:4;11941:2;11930:9;11926:18;11918:26;;11990:9;11984:4;11980:20;11976:1;11965:9;11961:17;11954:47;12018:131;12144:4;12018:131;:::i;:::-;12010:139;;11737:419;;;:::o" + }, + "gasEstimates": { + "creation": { + "codeDepositCost": "800200", + "executionCost": "infinite", + "totalCost": "infinite" + }, + "external": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "infinite", + "isPayable()": "374", + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "infinite", + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "infinite", + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "infinite", + "version()": "infinite" + }, + "internal": { + "extractAddressFromData(bytes memory)": "infinite", + "onAttest(struct Attestation calldata,uint256)": "infinite", + "onRevoke(struct Attestation calldata,uint256)": "29" + } + }, + "methodIdentifiers": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", + "isPayable()": "ce46e046", + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", + "version()": "54fd4d50" + } + }, + "abi": [ + { + "inputs": [ + { + "internalType": "contract IEAS", + "name": "eas", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AccessDenied", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientValue", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidEAS", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidLength", + "type": "error" + }, + { + "inputs": [], + "name": "NotPayable", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "attest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isPayable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiAttest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiRevoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "revoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver_metadata.json b/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver_metadata.json new file mode 100644 index 0000000..bd33bd2 --- /dev/null +++ b/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver_metadata.json @@ -0,0 +1,567 @@ +{ + "compiler": { + "version": "0.8.26+commit.8a97fa7a" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "contract IEAS", + "name": "eas", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AccessDenied", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientValue", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidEAS", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidLength", + "type": "error" + }, + { + "inputs": [], + "name": "NotPayable", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "attest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isPayable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiAttest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiRevoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "revoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "params": { + "attestation": "The new attestation." + }, + "returns": { + "_0": "Whether the attestation is valid." + } + }, + "isPayable()": { + "returns": { + "_0": "Whether the resolver supports ETH transfers." + } + }, + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "params": { + "attestations": "The new attestations.", + "values": "Explicit ETH amounts which were sent with each attestation." + }, + "returns": { + "_0": "Whether all the attestations are valid." + } + }, + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "params": { + "attestations": "The existing attestations to be revoked.", + "values": "Explicit ETH amounts which were sent with each revocation." + }, + "returns": { + "_0": "Whether the attestations can be revoked." + } + }, + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "params": { + "attestation": "The existing attestation to be revoked." + }, + "returns": { + "_0": "Whether the attestation can be revoked." + } + }, + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient.", + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "notice": "Processes an attestation and verifies whether it's valid." + }, + "isPayable()": { + "notice": "Checks if the resolver can be sent ETH." + }, + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "notice": "Processes multiple attestations and verifies whether they are valid." + }, + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "notice": "Processes revocation of multiple attestation and verifies they can be revoked." + }, + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "notice": "Processes an attestation revocation and verifies if it can be revoked." + }, + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "version": 1 + } + }, + "settings": { + "compilationTarget": { + "ownable-resolver.sol": "OwnerRecipientResolver" + }, + "evmVersion": "cancun", + "libraries": {}, + "metadata": { + "bytecodeHash": "ipfs" + }, + "optimizer": { + "enabled": false, + "runs": 200 + }, + "remappings": [] + }, + "sources": { + "@openzeppelin/contracts/access/Ownable.sol": { + "keccak256": "0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb", + "license": "MIT", + "urls": [ + "bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6", + "dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a" + ] + }, + "@openzeppelin/contracts/utils/Context.sol": { + "keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2", + "license": "MIT", + "urls": [ + "bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12", + "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF" + ] + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "keccak256": "0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792", + "license": "MIT", + "urls": [ + "bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453", + "dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i" + ] + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d", + "license": "MIT", + "urls": [ + "bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875", + "dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L" + ] + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "keccak256": "0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72", + "license": "MIT", + "urls": [ + "bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc", + "dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT" + ] + }, + "EAS/Common.sol": { + "keccak256": "0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6", + "license": "MIT", + "urls": [ + "bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d", + "dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1" + ] + }, + "EAS/IEAS.sol": { + "keccak256": "0xdc4fed434a7d7907767ba1dc6a8e9ddc94ede6df08fbea5d827077ef22e8bd8c", + "license": "MIT", + "urls": [ + "bzz-raw://297555c22ff767608088c01ba2efe6da4dff7e95b7eb614e09d72cb36d0c989b", + "dweb:/ipfs/QmQ7YWcBxiaf2mXZL1VLFsYSJPtVTHbWSBuimATVLMC7U4" + ] + }, + "EAS/ISchemaRegistry.sol": { + "keccak256": "0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006", + "license": "MIT", + "urls": [ + "bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749", + "dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47" + ] + }, + "EAS/ISchemaResolver.sol": { + "keccak256": "0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787", + "license": "MIT", + "urls": [ + "bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888", + "dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8" + ] + }, + "EAS/ISemver.sol": { + "keccak256": "0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf", + "license": "MIT", + "urls": [ + "bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4", + "dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp" + ] + }, + "EAS/SchemaResolver.sol": { + "keccak256": "0xb6dc636c973996ca481d6522decae3ecae8c043c8d2ca5228e8f53a6c0210951", + "license": "MIT", + "urls": [ + "bzz-raw://5a7f2f9db27662ba6aea6be58351e1cc834a1c84122a6cecfcb6d293628a1364", + "dweb:/ipfs/QmTkQ7gDaJaY4tgneQyNxmbz9AovJQmMfuZgG8akbAqu5K" + ] + }, + "EAS/Semver.sol": { + "keccak256": "0xcb67b60a08b4acb41ccda1ee2a44bb3d4291f3da9ecd60eed49991bdbfafb972", + "license": "MIT", + "urls": [ + "bzz-raw://eea3e91b983ce442be39c0a88c93627043d1c6de342be99562916a948a5933e3", + "dweb:/ipfs/QmTFeE2vsjwn1pNeSMWAoQ4NivUTHza5DYMgJA854Ddx8F" + ] + }, + "ownable-resolver.sol": { + "keccak256": "0xcc7c94f5c6175bf58d550a8a1376a34af81c94b76f95b097a266b7e5b34a59e4", + "license": "MIT", + "urls": [ + "bzz-raw://55753db971de8a9f74d847ceb2a51bc75a746a48a388cb170f418f84af776559", + "dweb:/ipfs/Qmecz5nqbAAwnTPvaVUVVHfkX1Wbj4idsUb8rGZ7YqCSgV" + ] + } + }, + "version": 1 +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/artifacts/build-info/be62ebfe77aadf5d6d5daf6ae4eb3f76.json b/data_entry/ownable-resolver/artifacts/build-info/be62ebfe77aadf5d6d5daf6ae4eb3f76.json new file mode 100644 index 0000000..d1285cd --- /dev/null +++ b/data_entry/ownable-resolver/artifacts/build-info/be62ebfe77aadf5d6d5daf6ae4eb3f76.json @@ -0,0 +1,71430 @@ +{ + "id": "be62ebfe77aadf5d6d5daf6ae4eb3f76", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.26", + "solcLongVersion": "0.8.26+commit.8a97fa7a", + "input": { + "language": "Solidity", + "sources": { + "ownable-resolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport { SchemaResolver } from \"EAS/SchemaResolver.sol\";\nimport { IEAS, Attestation } from \"EAS/IEAS.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\n/**\n * @title A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient.\n */\ncontract OwnerRecipientResolver is SchemaResolver {\n constructor(IEAS eas) SchemaResolver(eas) {}\n\n function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) {\n \n // Return true if the attestation.recipient field is empty (zero address)\n if (attestation.recipient == address(0)) {\n return true;\n }\n\n // Check if the attestation.recipient is a contract\n if (attestation.recipient.code.length == 0) {\n return false;\n }\n\n // Extract _address field from attestation.data\n address _address = extractAddressFromData(attestation.data);\n\n // Only allow the attestation if the to be attested contract _address is also the recipient\n if (attestation.recipient != _address) {\n return false;\n }\n\n // Try to cast the recipient address to Ownable\n Ownable ownableContract = Ownable(attestation.recipient);\n\n try ownableContract.owner() returns (address owner) {\n // Check if the sender is the owner of the contract\n return attestation.attester == owner;\n } catch {\n // If the call to owner() fails, it means the contract is not Ownable\n return false;\n }\n }\n\n function extractAddressFromData(bytes memory data) internal pure returns (address) {\n require(data.length >= 32, \"Data too short\");\n \n // The address is at index 12 of the first 32 bytes (right-aligned in ABI encoding).\n address extractedAddress;\n assembly {\n extractedAddress := mload(add(data, 32)) // Load the first 32 bytes, which includes the address at offset 12.\n extractedAddress := and(extractedAddress, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) // Mask the last 20 bytes (address size).\n }\n \n return extractedAddress;\n }\n\n\n function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) {\n return true;\n }\n}" + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {Context} from \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n constructor(address initialOwner) {\n if (initialOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(initialOwner);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" + }, + "EAS/IEAS.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport { ISchemaRegistry } from \"./ISchemaRegistry.sol\";\nimport { ISemver } from \"./ISemver.sol\";\nimport { Attestation, Signature } from \"./Common.sol\";\n\n/// @notice A struct representing the arguments of the attestation request.\nstruct AttestationRequestData {\n address recipient; // The recipient of the attestation.\n uint64 expirationTime; // The time when the attestation expires (Unix timestamp).\n bool revocable; // Whether the attestation is revocable.\n bytes32 refUID; // The UID of the related attestation.\n bytes data; // Custom attestation data.\n uint256 value; // An explicit ETH amount to send to the resolver. This is important to prevent accidental user errors.\n}\n\n/// @notice A struct representing the full arguments of the attestation request.\nstruct AttestationRequest {\n bytes32 schema; // The unique identifier of the schema.\n AttestationRequestData data; // The arguments of the attestation request.\n}\n\n/// @notice A struct representing the full arguments of the full delegated attestation request.\nstruct DelegatedAttestationRequest {\n bytes32 schema; // The unique identifier of the schema.\n AttestationRequestData data; // The arguments of the attestation request.\n Signature signature; // The ECDSA signature data.\n address attester; // The attesting account.\n uint64 deadline; // The deadline of the signature/request.\n}\n\n/// @notice A struct representing the full arguments of the multi attestation request.\nstruct MultiAttestationRequest {\n bytes32 schema; // The unique identifier of the schema.\n AttestationRequestData[] data; // The arguments of the attestation request.\n}\n\n/// @notice A struct representing the full arguments of the delegated multi attestation request.\nstruct MultiDelegatedAttestationRequest {\n bytes32 schema; // The unique identifier of the schema.\n AttestationRequestData[] data; // The arguments of the attestation requests.\n Signature[] signatures; // The ECDSA signatures data. Please note that the signatures are assumed to be signed with increasing nonces.\n address attester; // The attesting account.\n uint64 deadline; // The deadline of the signature/request.\n}\n\n/// @notice A struct representing the arguments of the revocation request.\nstruct RevocationRequestData {\n bytes32 uid; // The UID of the attestation to revoke.\n uint256 value; // An explicit ETH amount to send to the resolver. This is important to prevent accidental user errors.\n}\n\n/// @notice A struct representing the full arguments of the revocation request.\nstruct RevocationRequest {\n bytes32 schema; // The unique identifier of the schema.\n RevocationRequestData data; // The arguments of the revocation request.\n}\n\n/// @notice A struct representing the arguments of the full delegated revocation request.\nstruct DelegatedRevocationRequest {\n bytes32 schema; // The unique identifier of the schema.\n RevocationRequestData data; // The arguments of the revocation request.\n Signature signature; // The ECDSA signature data.\n address revoker; // The revoking account.\n uint64 deadline; // The deadline of the signature/request.\n}\n\n/// @notice A struct representing the full arguments of the multi revocation request.\nstruct MultiRevocationRequest {\n bytes32 schema; // The unique identifier of the schema.\n RevocationRequestData[] data; // The arguments of the revocation request.\n}\n\n/// @notice A struct representing the full arguments of the delegated multi revocation request.\nstruct MultiDelegatedRevocationRequest {\n bytes32 schema; // The unique identifier of the schema.\n RevocationRequestData[] data; // The arguments of the revocation requests.\n Signature[] signatures; // The ECDSA signatures data. Please note that the signatures are assumed to be signed with increasing nonces.\n address revoker; // The revoking account.\n uint64 deadline; // The deadline of the signature/request.\n}\n\n/// @title IEAS\n/// @notice EAS - Ethereum Attestation Service interface.\ninterface IEAS is ISemver {\n /// @notice Emitted when an attestation has been made.\n /// @param recipient The recipient of the attestation.\n /// @param attester The attesting account.\n /// @param uid The UID of the new attestation.\n /// @param schemaUID The UID of the schema.\n event Attested(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schemaUID);\n\n /// @notice Emitted when an attestation has been revoked.\n /// @param recipient The recipient of the attestation.\n /// @param attester The attesting account.\n /// @param schemaUID The UID of the schema.\n /// @param uid The UID the revoked attestation.\n event Revoked(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schemaUID);\n\n /// @notice Emitted when a data has been timestamped.\n /// @param data The data.\n /// @param timestamp The timestamp.\n event Timestamped(bytes32 indexed data, uint64 indexed timestamp);\n\n /// @notice Emitted when a data has been revoked.\n /// @param revoker The address of the revoker.\n /// @param data The data.\n /// @param timestamp The timestamp.\n event RevokedOffchain(address indexed revoker, bytes32 indexed data, uint64 indexed timestamp);\n\n /// @notice Returns the address of the global schema registry.\n /// @return The address of the global schema registry.\n function getSchemaRegistry() external view returns (ISchemaRegistry);\n\n /// @notice Attests to a specific schema.\n /// @param request The arguments of the attestation request.\n /// @return The UID of the new attestation.\n ///\n /// Example:\n /// attest({\n /// schema: \"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\",\n /// data: {\n /// recipient: \"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\",\n /// expirationTime: 0,\n /// revocable: true,\n /// refUID: \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n /// data: \"0xF00D\",\n /// value: 0\n /// }\n /// })\n function attest(AttestationRequest calldata request) external payable returns (bytes32);\n\n /// @notice Attests to a specific schema via the provided ECDSA signature.\n /// @param delegatedRequest The arguments of the delegated attestation request.\n /// @return The UID of the new attestation.\n ///\n /// Example:\n /// attestByDelegation({\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: {\n /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n /// expirationTime: 1673891048,\n /// revocable: true,\n /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n /// data: '0x1234',\n /// value: 0\n /// },\n /// signature: {\n /// v: 28,\n /// r: '0x148c...b25b',\n /// s: '0x5a72...be22'\n /// },\n /// attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e',\n /// deadline: 1673891048\n /// })\n function attestByDelegation(\n DelegatedAttestationRequest calldata delegatedRequest\n ) external payable returns (bytes32);\n\n /// @notice Attests to multiple schemas.\n /// @param multiRequests The arguments of the multi attestation requests. The requests should be grouped by distinct\n /// schema ids to benefit from the best batching optimization.\n /// @return The UIDs of the new attestations.\n ///\n /// Example:\n /// multiAttest([{\n /// schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd',\n /// data: [{\n /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n /// expirationTime: 1673891048,\n /// revocable: true,\n /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n /// data: '0x1234',\n /// value: 1000\n /// },\n /// {\n /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n /// expirationTime: 0,\n /// revocable: false,\n /// refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174',\n /// data: '0x00',\n /// value: 0\n /// }],\n /// },\n /// {\n /// schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',\n /// data: [{\n /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n /// expirationTime: 0,\n /// revocable: true,\n /// refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f',\n /// data: '0x12345678',\n /// value: 0\n /// },\n /// }])\n function multiAttest(MultiAttestationRequest[] calldata multiRequests) external payable returns (bytes32[] memory);\n\n /// @notice Attests to multiple schemas using via provided ECDSA signatures.\n /// @param multiDelegatedRequests The arguments of the delegated multi attestation requests. The requests should be\n /// grouped by distinct schema ids to benefit from the best batching optimization.\n /// @return The UIDs of the new attestations.\n ///\n /// Example:\n /// multiAttestByDelegation([{\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: [{\n /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n /// expirationTime: 1673891048,\n /// revocable: true,\n /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n /// data: '0x1234',\n /// value: 0\n /// },\n /// {\n /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n /// expirationTime: 0,\n /// revocable: false,\n /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n /// data: '0x00',\n /// value: 0\n /// }],\n /// signatures: [{\n /// v: 28,\n /// r: '0x148c...b25b',\n /// s: '0x5a72...be22'\n /// },\n /// {\n /// v: 28,\n /// r: '0x487s...67bb',\n /// s: '0x12ad...2366'\n /// }],\n /// attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4',\n /// deadline: 1673891048\n /// }])\n function multiAttestByDelegation(\n MultiDelegatedAttestationRequest[] calldata multiDelegatedRequests\n ) external payable returns (bytes32[] memory);\n\n /// @notice Revokes an existing attestation to a specific schema.\n /// @param request The arguments of the revocation request.\n ///\n /// Example:\n /// revoke({\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: {\n /// uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d',\n /// value: 0\n /// }\n /// })\n function revoke(RevocationRequest calldata request) external payable;\n\n /// @notice Revokes an existing attestation to a specific schema via the provided ECDSA signature.\n /// @param delegatedRequest The arguments of the delegated revocation request.\n ///\n /// Example:\n /// revokeByDelegation({\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: {\n /// uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba',\n /// value: 0\n /// },\n /// signature: {\n /// v: 27,\n /// r: '0xb593...7142',\n /// s: '0x0f5b...2cce'\n /// },\n /// revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',\n /// deadline: 1673891048\n /// })\n function revokeByDelegation(DelegatedRevocationRequest calldata delegatedRequest) external payable;\n\n /// @notice Revokes existing attestations to multiple schemas.\n /// @param multiRequests The arguments of the multi revocation requests. The requests should be grouped by distinct\n /// schema ids to benefit from the best batching optimization.\n ///\n /// Example:\n /// multiRevoke([{\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: [{\n /// uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',\n /// value: 1000\n /// },\n /// {\n /// uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',\n /// value: 0\n /// }],\n /// },\n /// {\n /// schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',\n /// data: [{\n /// uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019',\n /// value: 0\n /// },\n /// }])\n function multiRevoke(MultiRevocationRequest[] calldata multiRequests) external payable;\n\n /// @notice Revokes existing attestations to multiple schemas via provided ECDSA signatures.\n /// @param multiDelegatedRequests The arguments of the delegated multi revocation attestation requests. The requests\n /// should be grouped by distinct schema ids to benefit from the best batching optimization.\n ///\n /// Example:\n /// multiRevokeByDelegation([{\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: [{\n /// uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',\n /// value: 1000\n /// },\n /// {\n /// uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',\n /// value: 0\n /// }],\n /// signatures: [{\n /// v: 28,\n /// r: '0x148c...b25b',\n /// s: '0x5a72...be22'\n /// },\n /// {\n /// v: 28,\n /// r: '0x487s...67bb',\n /// s: '0x12ad...2366'\n /// }],\n /// revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',\n /// deadline: 1673891048\n /// }])\n function multiRevokeByDelegation(\n MultiDelegatedRevocationRequest[] calldata multiDelegatedRequests\n ) external payable;\n\n /// @notice Timestamps the specified bytes32 data.\n /// @param data The data to timestamp.\n /// @return The timestamp the data was timestamped with.\n function timestamp(bytes32 data) external returns (uint64);\n\n /// @notice Timestamps the specified multiple bytes32 data.\n /// @param data The data to timestamp.\n /// @return The timestamp the data was timestamped with.\n function multiTimestamp(bytes32[] calldata data) external returns (uint64);\n\n /// @notice Revokes the specified bytes32 data.\n /// @param data The data to timestamp.\n /// @return The timestamp the data was revoked with.\n function revokeOffchain(bytes32 data) external returns (uint64);\n\n /// @notice Revokes the specified multiple bytes32 data.\n /// @param data The data to timestamp.\n /// @return The timestamp the data was revoked with.\n function multiRevokeOffchain(bytes32[] calldata data) external returns (uint64);\n\n /// @notice Returns an existing attestation by UID.\n /// @param uid The UID of the attestation to retrieve.\n /// @return The attestation data members.\n function getAttestation(bytes32 uid) external view returns (Attestation memory);\n\n /// @notice Checks whether an attestation exists.\n /// @param uid The UID of the attestation to retrieve.\n /// @return Whether an attestation exists.\n function isAttestationValid(bytes32 uid) external view returns (bool);\n\n /// @notice Returns the timestamp that the specified data was timestamped with.\n /// @param data The data to query.\n /// @return The timestamp the data was timestamped with.\n function getTimestamp(bytes32 data) external view returns (uint64);\n\n /// @notice Returns the timestamp that the specified data was timestamped with.\n /// @param data The data to query.\n /// @return The timestamp the data was timestamped with.\n function getRevokeOffchain(address revoker, bytes32 data) external view returns (uint64);\n}" + }, + "EAS/SchemaResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.4;\n\nimport { AccessDenied, InvalidEAS, InvalidLength, uncheckedInc } from \"./Common.sol\";\nimport { IEAS, Attestation } from \"./IEAS.sol\";\nimport { Semver } from \"./Semver.sol\";\nimport { ISchemaResolver } from \"./ISchemaResolver.sol\";\n\n/// @title SchemaResolver\n/// @notice The base schema resolver contract.\nabstract contract SchemaResolver is ISchemaResolver, Semver {\n error InsufficientValue();\n error NotPayable();\n\n // The global EAS contract.\n IEAS internal immutable _eas;\n\n /// @dev Creates a new resolver.\n /// @param eas The address of the global EAS contract.\n constructor(IEAS eas) Semver(1, 3, 0) {\n if (address(eas) == address(0)) {\n revert InvalidEAS();\n }\n\n _eas = eas;\n }\n\n /// @dev Ensures that only the EAS contract can make this call.\n modifier onlyEAS() {\n _onlyEAS();\n\n _;\n }\n\n /// @inheritdoc ISchemaResolver\n function isPayable() public pure virtual returns (bool) {\n return false;\n }\n\n /// @dev ETH callback.\n receive() external payable virtual {\n if (!isPayable()) {\n revert NotPayable();\n }\n }\n\n /// @inheritdoc ISchemaResolver\n function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) {\n return onAttest(attestation, msg.value);\n }\n\n /// @inheritdoc ISchemaResolver\n function multiAttest(\n Attestation[] calldata attestations,\n uint256[] calldata values\n ) external payable onlyEAS returns (bool) {\n uint256 length = attestations.length;\n if (length != values.length) {\n revert InvalidLength();\n }\n\n // We are keeping track of the remaining ETH amount that can be sent to resolvers and will keep deducting\n // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless\n // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be\n // possible to send too much ETH anyway.\n uint256 remainingValue = msg.value;\n\n for (uint256 i = 0; i < length; i = uncheckedInc(i)) {\n // Ensure that the attester/revoker doesn't try to spend more than available.\n uint256 value = values[i];\n if (value > remainingValue) {\n revert InsufficientValue();\n }\n\n // Forward the attestation to the underlying resolver and return false in case it isn't approved.\n if (!onAttest(attestations[i], value)) {\n return false;\n }\n\n unchecked {\n // Subtract the ETH amount, that was provided to this attestation, from the global remaining ETH amount.\n remainingValue -= value;\n }\n }\n\n return true;\n }\n\n /// @inheritdoc ISchemaResolver\n function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) {\n return onRevoke(attestation, msg.value);\n }\n\n /// @inheritdoc ISchemaResolver\n function multiRevoke(\n Attestation[] calldata attestations,\n uint256[] calldata values\n ) external payable onlyEAS returns (bool) {\n uint256 length = attestations.length;\n if (length != values.length) {\n revert InvalidLength();\n }\n\n // We are keeping track of the remaining ETH amount that can be sent to resolvers and will keep deducting\n // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless\n // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be\n // possible to send too much ETH anyway.\n uint256 remainingValue = msg.value;\n\n for (uint256 i = 0; i < length; i = uncheckedInc(i)) {\n // Ensure that the attester/revoker doesn't try to spend more than available.\n uint256 value = values[i];\n if (value > remainingValue) {\n revert InsufficientValue();\n }\n\n // Forward the revocation to the underlying resolver and return false in case it isn't approved.\n if (!onRevoke(attestations[i], value)) {\n return false;\n }\n\n unchecked {\n // Subtract the ETH amount, that was provided to this attestation, from the global remaining ETH amount.\n remainingValue -= value;\n }\n }\n\n return true;\n }\n\n /// @notice A resolver callback that should be implemented by child contracts.\n /// @param attestation The new attestation.\n /// @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in\n /// both attest() and multiAttest() callbacks EAS-only callbacks and that in case of multi attestations, it'll\n /// usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the\n /// attestations in the batch.\n /// @return Whether the attestation is valid.\n function onAttest(Attestation calldata attestation, uint256 value) internal virtual returns (bool);\n\n /// @notice Processes an attestation revocation and verifies if it can be revoked.\n /// @param attestation The existing attestation to be revoked.\n /// @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in\n /// both revoke() and multiRevoke() callbacks EAS-only callbacks and that in case of multi attestations, it'll\n /// usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the\n /// attestations in the batch.\n /// @return Whether the attestation can be revoked.\n function onRevoke(Attestation calldata attestation, uint256 value) internal virtual returns (bool);\n\n /// @dev Ensures that only the EAS contract can make this call.\n function _onlyEAS() private view {\n if (msg.sender != address(_eas)) {\n revert AccessDenied();\n }\n }\n}" + }, + "EAS/ISchemaResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport { Attestation } from \"./Common.sol\";\nimport { ISemver } from \"./ISemver.sol\";\n\n/// @title ISchemaResolver\n/// @notice The interface of an optional schema resolver.\ninterface ISchemaResolver is ISemver {\n /// @notice Checks if the resolver can be sent ETH.\n /// @return Whether the resolver supports ETH transfers.\n function isPayable() external pure returns (bool);\n\n /// @notice Processes an attestation and verifies whether it's valid.\n /// @param attestation The new attestation.\n /// @return Whether the attestation is valid.\n function attest(Attestation calldata attestation) external payable returns (bool);\n\n /// @notice Processes multiple attestations and verifies whether they are valid.\n /// @param attestations The new attestations.\n /// @param values Explicit ETH amounts which were sent with each attestation.\n /// @return Whether all the attestations are valid.\n function multiAttest(\n Attestation[] calldata attestations,\n uint256[] calldata values\n ) external payable returns (bool);\n\n /// @notice Processes an attestation revocation and verifies if it can be revoked.\n /// @param attestation The existing attestation to be revoked.\n /// @return Whether the attestation can be revoked.\n function revoke(Attestation calldata attestation) external payable returns (bool);\n\n /// @notice Processes revocation of multiple attestation and verifies they can be revoked.\n /// @param attestations The existing attestations to be revoked.\n /// @param values Explicit ETH amounts which were sent with each revocation.\n /// @return Whether the attestations can be revoked.\n function multiRevoke(\n Attestation[] calldata attestations,\n uint256[] calldata values\n ) external payable returns (bool);\n}" + }, + "EAS/Semver.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.4;\n\nimport { Strings } from \"@openzeppelin/contracts/utils/Strings.sol\";\n\nimport { ISemver } from \"./ISemver.sol\";\n\n/// @title Semver\n/// @notice A simple contract for managing contract versions.\ncontract Semver is ISemver {\n // Contract's major version number.\n uint256 private immutable _major;\n\n // Contract's minor version number.\n uint256 private immutable _minor;\n\n // Contract's patch version number.\n uint256 private immutable _patch;\n\n /// @dev Create a new Semver instance.\n /// @param major Major version number.\n /// @param minor Minor version number.\n /// @param patch Patch version number.\n constructor(uint256 major, uint256 minor, uint256 patch) {\n _major = major;\n _minor = minor;\n _patch = patch;\n }\n\n /// @notice Returns the full semver contract version.\n /// @return Semver contract version as a string.\n function version() external view returns (string memory) {\n return\n string(\n abi.encodePacked(Strings.toString(_major), \".\", Strings.toString(_minor), \".\", Strings.toString(_patch))\n );\n }\n}" + }, + "EAS/Common.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n// A representation of an empty/uninitialized UID.\nbytes32 constant EMPTY_UID = 0;\n\n// A zero expiration represents an non-expiring attestation.\nuint64 constant NO_EXPIRATION_TIME = 0;\n\nerror AccessDenied();\nerror DeadlineExpired();\nerror InvalidEAS();\nerror InvalidLength();\nerror InvalidSignature();\nerror NotFound();\n\n/// @notice A struct representing ECDSA signature data.\nstruct Signature {\n uint8 v; // The recovery ID.\n bytes32 r; // The x-coordinate of the nonce R.\n bytes32 s; // The signature data.\n}\n\n/// @notice A struct representing a single attestation.\nstruct Attestation {\n bytes32 uid; // A unique identifier of the attestation.\n bytes32 schema; // The unique identifier of the schema.\n uint64 time; // The time when the attestation was created (Unix timestamp).\n uint64 expirationTime; // The time when the attestation expires (Unix timestamp).\n uint64 revocationTime; // The time when the attestation was revoked (Unix timestamp).\n bytes32 refUID; // The UID of the related attestation.\n address recipient; // The recipient of the attestation.\n address attester; // The attester/sender of the attestation.\n bool revocable; // Whether the attestation is revocable.\n bytes data; // Custom attestation data.\n}\n\n/// @notice A helper function to work with unchecked iterators in loops.\nfunction uncheckedInc(uint256 i) pure returns (uint256 j) {\n unchecked {\n j = i + 1;\n }\n}" + }, + "EAS/ISemver.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/// @title ISemver\n/// @notice A semver interface.\ninterface ISemver {\n /// @notice Returns the full semver contract version.\n /// @return Semver contract version as a string.\n function version() external view returns (string memory);\n}" + }, + "EAS/ISchemaRegistry.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport { ISemver } from \"./ISemver.sol\";\n\nimport { ISchemaResolver } from \"./ISchemaResolver.sol\";\n\n/// @notice A struct representing a record for a submitted schema.\nstruct SchemaRecord {\n bytes32 uid; // The unique identifier of the schema.\n ISchemaResolver resolver; // Optional schema resolver.\n bool revocable; // Whether the schema allows revocations explicitly.\n string schema; // Custom specification of the schema (e.g., an ABI).\n}\n\n/// @title ISchemaRegistry\n/// @notice The interface of global attestation schemas for the Ethereum Attestation Service protocol.\ninterface ISchemaRegistry is ISemver {\n /// @notice Emitted when a new schema has been registered\n /// @param uid The schema UID.\n /// @param registerer The address of the account used to register the schema.\n /// @param schema The schema data.\n event Registered(bytes32 indexed uid, address indexed registerer, SchemaRecord schema);\n\n /// @notice Submits and reserves a new schema\n /// @param schema The schema data schema.\n /// @param resolver An optional schema resolver.\n /// @param revocable Whether the schema allows revocations explicitly.\n /// @return The UID of the new schema.\n function register(string calldata schema, ISchemaResolver resolver, bool revocable) external returns (bytes32);\n\n /// @notice Returns an existing schema by UID\n /// @param uid The UID of the schema to retrieve.\n /// @return The schema data members.\n function getSchema(bytes32 uid) external view returns (SchemaRecord memory);\n}" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol)\n\npragma solidity ^0.8.20;\n\nimport {Math} from \"./math/Math.sol\";\nimport {SignedMath} from \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant HEX_DIGITS = \"0123456789abcdef\";\n uint8 private constant ADDRESS_LENGTH = 20;\n\n /**\n * @dev The `value` string doesn't fit in the specified `length`.\n */\n error StringsInsufficientHexLength(uint256 value, uint256 length);\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), HEX_DIGITS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toStringSigned(int256 value) internal pure returns (string memory) {\n return string.concat(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value)));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n uint256 localValue = value;\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = HEX_DIGITS[localValue & 0xf];\n localValue >>= 4;\n }\n if (localValue != 0) {\n revert StringsInsufficientHexLength(value, length);\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n * representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b));\n }\n}\n" + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // must be unchecked in order to support `n = type(int256).min`\n return uint256(n >= 0 ? n : -n);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n /**\n * @dev Muldiv operation overflow.\n */\n error MathOverflowedMulDiv();\n\n enum Rounding {\n Floor, // Toward negative infinity\n Ceil, // Toward positive infinity\n Trunc, // Toward zero\n Expand // Away from zero\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n uint256 c = a + b;\n if (c < a) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, with an overflow flag.\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b > a) return (false, 0);\n return (true, a - b);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) return (true, 0);\n uint256 c = a * b;\n if (c / a != b) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a / b);\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a % b);\n }\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds towards infinity instead\n * of rounding towards zero.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n if (b == 0) {\n // Guarantee the same behavior as in a regular Solidity division.\n return a / b;\n }\n\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n * denominator == 0.\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n * Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0 = x * y; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n if (denominator <= prod1) {\n revert MathOverflowedMulDiv();\n }\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator.\n // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.\n\n uint256 twos = denominator & (0 - denominator);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also\n // works in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n * towards zero.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (unsignedRoundsUp(rounding) && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (unsignedRoundsUp(rounding) && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (unsignedRoundsUp(rounding) && 10 ** result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (unsignedRoundsUp(rounding) && 1 << (result << 3) < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers.\n */\n function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) {\n return uint8(rounding) % 2 == 1;\n }\n}\n" + } + }, + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "": [ + "ast" + ], + "*": [ + "abi", + "metadata", + "devdoc", + "userdoc", + "storageLayout", + "evm.legacyAssembly", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "evm.gasEstimates", + "evm.assembly" + ] + } + }, + "remappings": [] + } + }, + "output": { + "contracts": { + "@openzeppelin/contracts/access/Ownable.sol": { + "Ownable": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "devdoc": { + "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", + "errors": { + "OwnableInvalidOwner(address)": [ + { + "details": "The owner is not a valid owner account. (eg. `address(0)`)" + } + ], + "OwnableUnauthorizedAccount(address)": [ + { + "details": "The caller account is not authorized to perform an operation." + } + ] + }, + "kind": "dev", + "methods": { + "constructor": { + "details": "Initializes the contract setting the address provided by the deployer as the initial owner." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + }, + "version": 1 + }, + "evm": { + "assembly": "", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "legacyAssembly": null, + "methodIdentifiers": { + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the address provided by the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}", + "storageLayout": { + "storage": [ + { + "astId": 8, + "contract": "@openzeppelin/contracts/access/Ownable.sol:Ownable", + "label": "_owner", + "offset": 0, + "slot": "0", + "type": "t_address" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + } + } + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + } + }, + "@openzeppelin/contracts/utils/Context.sol": { + "Context": { + "abi": [], + "devdoc": { + "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "evm": { + "assembly": "", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "legacyAssembly": null, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + } + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "Strings": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "StringsInsufficientHexLength", + "type": "error" + } + ], + "devdoc": { + "details": "String operations.", + "errors": { + "StringsInsufficientHexLength(uint256,uint256)": [ + { + "details": "The `value` string doesn't fit in the specified `length`." + } + ] + }, + "kind": "dev", + "methods": {}, + "version": 1 + }, + "evm": { + "assembly": " /* \"@openzeppelin/contracts/utils/Strings.sol\":251:3098 library Strings {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/Strings.sol\":251:3098 library Strings {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa264697066735822122051a8715979020060b5847a3f92a10202c663f2695287de37855095ccae600c8164736f6c634300081a0033\n}\n", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122051a8715979020060b5847a3f92a10202c663f2695287de37855095ccae600c8164736f6c634300081a0033", + "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xA8 PUSH18 0x5979020060B5847A3F92A10202C663F26952 DUP8 0xDE CALLDATACOPY DUP6 POP SWAP6 0xCC 0xAE PUSH1 0xC DUP2 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", + "sourceMap": "251:2847:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122051a8715979020060b5847a3f92a10202c663f2695287de37855095ccae600c8164736f6c634300081a0033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xA8 PUSH18 0x5979020060B5847A3F92A10202C663F26952 DUP8 0xDE CALLDATACOPY DUP6 POP SWAP6 0xCC 0xAE PUSH1 0xC DUP2 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", + "sourceMap": "251:2847:2:-:0;;;;;;;;" + }, + "gasEstimates": { + "creation": { + "codeDepositCost": "17000", + "executionCost": "92", + "totalCost": "17092" + }, + "internal": { + "equal(string memory,string memory)": "infinite", + "toHexString(address)": "infinite", + "toHexString(uint256)": "infinite", + "toHexString(uint256,uint256)": "infinite", + "toString(uint256)": "infinite", + "toStringSigned(int256)": "infinite" + } + }, + "legacyAssembly": { + ".code": [ + { + "begin": 251, + "end": 3098, + "name": "PUSH #[$]", + "source": 2, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH [$]", + "source": 2, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "B" + }, + { + "begin": 251, + "end": 3098, + "name": "DUP3", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "DUP3", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "DUP3", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "CODECOPY", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "DUP1", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "MLOAD", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 251, + "end": 3098, + "name": "BYTE", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "73" + }, + { + "begin": 251, + "end": 3098, + "name": "EQ", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH [tag]", + "source": 2, + "value": "1" + }, + { + "begin": 251, + "end": 3098, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 251, + "end": 3098, + "name": "MSTORE", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "4" + }, + { + "begin": 251, + "end": 3098, + "name": "MSTORE", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "24" + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 251, + "end": 3098, + "name": "REVERT", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "tag", + "source": 2, + "value": "1" + }, + { + "begin": 251, + "end": 3098, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "ADDRESS", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 251, + "end": 3098, + "name": "MSTORE", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "73" + }, + { + "begin": 251, + "end": 3098, + "name": "DUP2", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "MSTORE8", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "DUP3", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "DUP2", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "RETURN", + "source": 2 + } + ], + ".data": { + "0": { + ".auxdata": "a264697066735822122051a8715979020060b5847a3f92a10202c663f2695287de37855095ccae600c8164736f6c634300081a0033", + ".code": [ + { + "begin": 251, + "end": 3098, + "name": "PUSHDEPLOYADDRESS", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "ADDRESS", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "EQ", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "80" + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "40" + }, + { + "begin": 251, + "end": 3098, + "name": "MSTORE", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 251, + "end": 3098, + "name": "DUP1", + "source": 2 + }, + { + "begin": 251, + "end": 3098, + "name": "REVERT", + "source": 2 + } + ] + } + }, + "sourceList": [ + "@openzeppelin/contracts/access/Ownable.sol", + "@openzeppelin/contracts/utils/Context.sol", + "@openzeppelin/contracts/utils/Strings.sol", + "@openzeppelin/contracts/utils/math/Math.sol", + "@openzeppelin/contracts/utils/math/SignedMath.sol", + "EAS/Common.sol", + "EAS/IEAS.sol", + "EAS/ISchemaRegistry.sol", + "EAS/ISchemaResolver.sol", + "EAS/ISemver.sol", + "EAS/SchemaResolver.sol", + "EAS/Semver.sol", + "ownable-resolver.sol", + "#utility.yul" + ] + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + } + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "Math": { + "abi": [ + { + "inputs": [], + "name": "MathOverflowedMulDiv", + "type": "error" + } + ], + "devdoc": { + "details": "Standard math utilities missing in the Solidity language.", + "errors": { + "MathOverflowedMulDiv()": [ + { + "details": "Muldiv operation overflow." + } + ] + }, + "kind": "dev", + "methods": {}, + "version": 1 + }, + "evm": { + "assembly": " /* \"@openzeppelin/contracts/utils/math/Math.sol\":203:15117 library Math {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":203:15117 library Math {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa2646970667358221220203246029dab93f34b327ba02915d37e6c29f598a14b59593a6c7ca26ac8c1c664736f6c634300081a0033\n}\n", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220203246029dab93f34b327ba02915d37e6c29f598a14b59593a6c7ca26ac8c1c664736f6c634300081a0033", + "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 KECCAK256 ORIGIN CHAINID MUL SWAP14 0xAB SWAP4 RETURN 0x4B ORIGIN PUSH28 0xA02915D37E6C29F598A14B59593A6C7CA26AC8C1C664736F6C634300 ADDMOD BYTE STOP CALLER ", + "sourceMap": "203:14914:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220203246029dab93f34b327ba02915d37e6c29f598a14b59593a6c7ca26ac8c1c664736f6c634300081a0033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 KECCAK256 ORIGIN CHAINID MUL SWAP14 0xAB SWAP4 RETURN 0x4B ORIGIN PUSH28 0xA02915D37E6C29F598A14B59593A6C7CA26AC8C1C664736F6C634300 ADDMOD BYTE STOP CALLER ", + "sourceMap": "203:14914:3:-:0;;;;;;;;" + }, + "gasEstimates": { + "creation": { + "codeDepositCost": "17000", + "executionCost": "92", + "totalCost": "17092" + }, + "internal": { + "average(uint256,uint256)": "infinite", + "ceilDiv(uint256,uint256)": "infinite", + "log10(uint256)": "infinite", + "log10(uint256,enum Math.Rounding)": "infinite", + "log2(uint256)": "infinite", + "log2(uint256,enum Math.Rounding)": "infinite", + "log256(uint256)": "infinite", + "log256(uint256,enum Math.Rounding)": "infinite", + "max(uint256,uint256)": "infinite", + "min(uint256,uint256)": "infinite", + "mulDiv(uint256,uint256,uint256)": "infinite", + "mulDiv(uint256,uint256,uint256,enum Math.Rounding)": "infinite", + "sqrt(uint256)": "infinite", + "sqrt(uint256,enum Math.Rounding)": "infinite", + "tryAdd(uint256,uint256)": "infinite", + "tryDiv(uint256,uint256)": "infinite", + "tryMod(uint256,uint256)": "infinite", + "tryMul(uint256,uint256)": "infinite", + "trySub(uint256,uint256)": "infinite", + "unsignedRoundsUp(enum Math.Rounding)": "infinite" + } + }, + "legacyAssembly": { + ".code": [ + { + "begin": 203, + "end": 15117, + "name": "PUSH #[$]", + "source": 3, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH [$]", + "source": 3, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "B" + }, + { + "begin": 203, + "end": 15117, + "name": "DUP3", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "DUP3", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "DUP3", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "CODECOPY", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "DUP1", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "MLOAD", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 203, + "end": 15117, + "name": "BYTE", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "73" + }, + { + "begin": 203, + "end": 15117, + "name": "EQ", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH [tag]", + "source": 3, + "value": "1" + }, + { + "begin": 203, + "end": 15117, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 203, + "end": 15117, + "name": "MSTORE", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "4" + }, + { + "begin": 203, + "end": 15117, + "name": "MSTORE", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "24" + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 203, + "end": 15117, + "name": "REVERT", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "tag", + "source": 3, + "value": "1" + }, + { + "begin": 203, + "end": 15117, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "ADDRESS", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 203, + "end": 15117, + "name": "MSTORE", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "73" + }, + { + "begin": 203, + "end": 15117, + "name": "DUP2", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "MSTORE8", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "DUP3", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "DUP2", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "RETURN", + "source": 3 + } + ], + ".data": { + "0": { + ".auxdata": "a2646970667358221220203246029dab93f34b327ba02915d37e6c29f598a14b59593a6c7ca26ac8c1c664736f6c634300081a0033", + ".code": [ + { + "begin": 203, + "end": 15117, + "name": "PUSHDEPLOYADDRESS", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "ADDRESS", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "EQ", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "80" + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "40" + }, + { + "begin": 203, + "end": 15117, + "name": "MSTORE", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 203, + "end": 15117, + "name": "DUP1", + "source": 3 + }, + { + "begin": 203, + "end": 15117, + "name": "REVERT", + "source": 3 + } + ] + } + }, + "sourceList": [ + "@openzeppelin/contracts/access/Ownable.sol", + "@openzeppelin/contracts/utils/Context.sol", + "@openzeppelin/contracts/utils/Strings.sol", + "@openzeppelin/contracts/utils/math/Math.sol", + "@openzeppelin/contracts/utils/math/SignedMath.sol", + "EAS/Common.sol", + "EAS/IEAS.sol", + "EAS/ISchemaRegistry.sol", + "EAS/ISchemaResolver.sol", + "EAS/ISemver.sol", + "EAS/SchemaResolver.sol", + "EAS/Semver.sol", + "ownable-resolver.sol", + "#utility.yul" + ] + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MathOverflowedMulDiv\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"errors\":{\"MathOverflowedMulDiv()\":[{\"details\":\"Muldiv operation overflow.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + } + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "SignedMath": { + "abi": [], + "devdoc": { + "details": "Standard signed math utilities missing in the Solidity language.", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "evm": { + "assembly": " /* \"@openzeppelin/contracts/utils/math/SignedMath.sol\":216:1263 library SignedMath {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/math/SignedMath.sol\":216:1263 library SignedMath {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa2646970667358221220bafc138f006fce36eaafb8c23c8f3807f830920cd962d103124dcddf6117025d64736f6c634300081a0033\n}\n", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220bafc138f006fce36eaafb8c23c8f3807f830920cd962d103124dcddf6117025d64736f6c634300081a0033", + "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA 0xFC SGT DUP16 STOP PUSH16 0xCE36EAAFB8C23C8F3807F830920CD962 0xD1 SUB SLT 0x4D 0xCD 0xDF PUSH2 0x1702 TSTORE PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", + "sourceMap": "216:1047:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220bafc138f006fce36eaafb8c23c8f3807f830920cd962d103124dcddf6117025d64736f6c634300081a0033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA 0xFC SGT DUP16 STOP PUSH16 0xCE36EAAFB8C23C8F3807F830920CD962 0xD1 SUB SLT 0x4D 0xCD 0xDF PUSH2 0x1702 TSTORE PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", + "sourceMap": "216:1047:4:-:0;;;;;;;;" + }, + "gasEstimates": { + "creation": { + "codeDepositCost": "17000", + "executionCost": "92", + "totalCost": "17092" + }, + "internal": { + "abs(int256)": "infinite", + "average(int256,int256)": "infinite", + "max(int256,int256)": "infinite", + "min(int256,int256)": "infinite" + } + }, + "legacyAssembly": { + ".code": [ + { + "begin": 216, + "end": 1263, + "name": "PUSH #[$]", + "source": 4, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH [$]", + "source": 4, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "B" + }, + { + "begin": 216, + "end": 1263, + "name": "DUP3", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "DUP3", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "DUP3", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "CODECOPY", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "DUP1", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "MLOAD", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "0" + }, + { + "begin": 216, + "end": 1263, + "name": "BYTE", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "73" + }, + { + "begin": 216, + "end": 1263, + "name": "EQ", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH [tag]", + "source": 4, + "value": "1" + }, + { + "begin": 216, + "end": 1263, + "name": "JUMPI", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "0" + }, + { + "begin": 216, + "end": 1263, + "name": "MSTORE", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "0" + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "4" + }, + { + "begin": 216, + "end": 1263, + "name": "MSTORE", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "24" + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "0" + }, + { + "begin": 216, + "end": 1263, + "name": "REVERT", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "tag", + "source": 4, + "value": "1" + }, + { + "begin": 216, + "end": 1263, + "name": "JUMPDEST", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "ADDRESS", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "0" + }, + { + "begin": 216, + "end": 1263, + "name": "MSTORE", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "73" + }, + { + "begin": 216, + "end": 1263, + "name": "DUP2", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "MSTORE8", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "DUP3", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "DUP2", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "RETURN", + "source": 4 + } + ], + ".data": { + "0": { + ".auxdata": "a2646970667358221220bafc138f006fce36eaafb8c23c8f3807f830920cd962d103124dcddf6117025d64736f6c634300081a0033", + ".code": [ + { + "begin": 216, + "end": 1263, + "name": "PUSHDEPLOYADDRESS", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "ADDRESS", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "EQ", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "80" + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "40" + }, + { + "begin": 216, + "end": 1263, + "name": "MSTORE", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "PUSH", + "source": 4, + "value": "0" + }, + { + "begin": 216, + "end": 1263, + "name": "DUP1", + "source": 4 + }, + { + "begin": 216, + "end": 1263, + "name": "REVERT", + "source": 4 + } + ] + } + }, + "sourceList": [ + "@openzeppelin/contracts/access/Ownable.sol", + "@openzeppelin/contracts/utils/Context.sol", + "@openzeppelin/contracts/utils/Strings.sol", + "@openzeppelin/contracts/utils/math/Math.sol", + "@openzeppelin/contracts/utils/math/SignedMath.sol", + "EAS/Common.sol", + "EAS/IEAS.sol", + "EAS/ISchemaRegistry.sol", + "EAS/ISchemaResolver.sol", + "EAS/ISemver.sol", + "EAS/SchemaResolver.sol", + "EAS/Semver.sol", + "ownable-resolver.sol", + "#utility.yul" + ] + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + } + }, + "EAS/IEAS.sol": { + "IEAS": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "schemaUID", + "type": "bytes32" + } + ], + "name": "Attested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "schemaUID", + "type": "bytes32" + } + ], + "name": "Revoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "revoker", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "data", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + } + ], + "name": "RevokedOffchain", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "data", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + } + ], + "name": "Timestamped", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "internalType": "struct AttestationRequestData", + "name": "data", + "type": "tuple" + } + ], + "internalType": "struct AttestationRequest", + "name": "request", + "type": "tuple" + } + ], + "name": "attest", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "internalType": "struct AttestationRequestData", + "name": "data", + "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": "signature", + "type": "tuple" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "uint64", + "name": "deadline", + "type": "uint64" + } + ], + "internalType": "struct DelegatedAttestationRequest", + "name": "delegatedRequest", + "type": "tuple" + } + ], + "name": "attestByDelegation", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + } + ], + "name": "getAttestation", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "revoker", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "data", + "type": "bytes32" + } + ], + "name": "getRevokeOffchain", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSchemaRegistry", + "outputs": [ + { + "internalType": "contract ISchemaRegistry", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "data", + "type": "bytes32" + } + ], + "name": "getTimestamp", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + } + ], + "name": "isAttestationValid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "internalType": "struct AttestationRequestData[]", + "name": "data", + "type": "tuple[]" + } + ], + "internalType": "struct MultiAttestationRequest[]", + "name": "multiRequests", + "type": "tuple[]" + } + ], + "name": "multiAttest", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "internalType": "struct AttestationRequestData[]", + "name": "data", + "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": "signatures", + "type": "tuple[]" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "uint64", + "name": "deadline", + "type": "uint64" + } + ], + "internalType": "struct MultiDelegatedAttestationRequest[]", + "name": "multiDelegatedRequests", + "type": "tuple[]" + } + ], + "name": "multiAttestByDelegation", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "internalType": "struct RevocationRequestData[]", + "name": "data", + "type": "tuple[]" + } + ], + "internalType": "struct MultiRevocationRequest[]", + "name": "multiRequests", + "type": "tuple[]" + } + ], + "name": "multiRevoke", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "internalType": "struct RevocationRequestData[]", + "name": "data", + "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": "signatures", + "type": "tuple[]" + }, + { + "internalType": "address", + "name": "revoker", + "type": "address" + }, + { + "internalType": "uint64", + "name": "deadline", + "type": "uint64" + } + ], + "internalType": "struct MultiDelegatedRevocationRequest[]", + "name": "multiDelegatedRequests", + "type": "tuple[]" + } + ], + "name": "multiRevokeByDelegation", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "data", + "type": "bytes32[]" + } + ], + "name": "multiRevokeOffchain", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "data", + "type": "bytes32[]" + } + ], + "name": "multiTimestamp", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "internalType": "struct RevocationRequestData", + "name": "data", + "type": "tuple" + } + ], + "internalType": "struct RevocationRequest", + "name": "request", + "type": "tuple" + } + ], + "name": "revoke", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "internalType": "struct RevocationRequestData", + "name": "data", + "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": "signature", + "type": "tuple" + }, + { + "internalType": "address", + "name": "revoker", + "type": "address" + }, + { + "internalType": "uint64", + "name": "deadline", + "type": "uint64" + } + ], + "internalType": "struct DelegatedRevocationRequest", + "name": "delegatedRequest", + "type": "tuple" + } + ], + "name": "revokeByDelegation", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "data", + "type": "bytes32" + } + ], + "name": "revokeOffchain", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "data", + "type": "bytes32" + } + ], + "name": "timestamp", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "devdoc": { + "events": { + "Attested(address,address,bytes32,bytes32)": { + "params": { + "attester": "The attesting account.", + "recipient": "The recipient of the attestation.", + "schemaUID": "The UID of the schema.", + "uid": "The UID of the new attestation." + } + }, + "Revoked(address,address,bytes32,bytes32)": { + "params": { + "attester": "The attesting account.", + "recipient": "The recipient of the attestation.", + "schemaUID": "The UID of the schema.", + "uid": "The UID the revoked attestation." + } + }, + "RevokedOffchain(address,bytes32,uint64)": { + "params": { + "data": "The data.", + "revoker": "The address of the revoker.", + "timestamp": "The timestamp." + } + }, + "Timestamped(bytes32,uint64)": { + "params": { + "data": "The data.", + "timestamp": "The timestamp." + } + } + }, + "kind": "dev", + "methods": { + "attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))": { + "params": { + "request": "The arguments of the attestation request." + }, + "returns": { + "_0": "The UID of the new attestation. Example: attest({ schema: \"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\", data: { recipient: \"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\", expirationTime: 0, revocable: true, refUID: \"0x0000000000000000000000000000000000000000000000000000000000000000\", data: \"0xF00D\", value: 0 } })" + } + }, + "attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))": { + "params": { + "delegatedRequest": "The arguments of the delegated attestation request." + }, + "returns": { + "_0": "The UID of the new attestation. Example: attestByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, signature: { v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e', deadline: 1673891048 })" + } + }, + "getAttestation(bytes32)": { + "params": { + "uid": "The UID of the attestation to retrieve." + }, + "returns": { + "_0": "The attestation data members." + } + }, + "getRevokeOffchain(address,bytes32)": { + "params": { + "data": "The data to query." + }, + "returns": { + "_0": "The timestamp the data was timestamped with." + } + }, + "getSchemaRegistry()": { + "returns": { + "_0": "The address of the global schema registry." + } + }, + "getTimestamp(bytes32)": { + "params": { + "data": "The data to query." + }, + "returns": { + "_0": "The timestamp the data was timestamped with." + } + }, + "isAttestationValid(bytes32)": { + "params": { + "uid": "The UID of the attestation to retrieve." + }, + "returns": { + "_0": "Whether an attestation exists." + } + }, + "multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])": { + "params": { + "multiRequests": "The arguments of the multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization." + }, + "returns": { + "_0": "The UIDs of the new attestations. Example: multiAttest([{ schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd', data: [{ recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 1000 }, { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 0, revocable: false, refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174', data: '0x00', value: 0 }], }, { schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', data: [{ recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: true, refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f', data: '0x12345678', value: 0 }, }])" + } + }, + "multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": { + "params": { + "multiDelegatedRequests": "The arguments of the delegated multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization." + }, + "returns": { + "_0": "The UIDs of the new attestations. Example: multiAttestByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, { recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: false, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x00', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4', deadline: 1673891048 }])" + } + }, + "multiRevoke((bytes32,(bytes32,uint256)[])[])": { + "params": { + "multiRequests": "The arguments of the multi revocation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization. Example: multiRevoke([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], }, { schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', data: [{ uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019', value: 0 }, }])" + } + }, + "multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": { + "params": { + "multiDelegatedRequests": "The arguments of the delegated multi revocation attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization. Example: multiRevokeByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 }])" + } + }, + "multiRevokeOffchain(bytes32[])": { + "params": { + "data": "The data to timestamp." + }, + "returns": { + "_0": "The timestamp the data was revoked with." + } + }, + "multiTimestamp(bytes32[])": { + "params": { + "data": "The data to timestamp." + }, + "returns": { + "_0": "The timestamp the data was timestamped with." + } + }, + "revoke((bytes32,(bytes32,uint256)))": { + "params": { + "request": "The arguments of the revocation request. Example: revoke({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d', value: 0 } })" + } + }, + "revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))": { + "params": { + "delegatedRequest": "The arguments of the delegated revocation request. Example: revokeByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba', value: 0 }, signature: { v: 27, r: '0xb593...7142', s: '0x0f5b...2cce' }, revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 })" + } + }, + "revokeOffchain(bytes32)": { + "params": { + "data": "The data to timestamp." + }, + "returns": { + "_0": "The timestamp the data was revoked with." + } + }, + "timestamp(bytes32)": { + "params": { + "data": "The data to timestamp." + }, + "returns": { + "_0": "The timestamp the data was timestamped with." + } + }, + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "IEAS", + "version": 1 + }, + "evm": { + "assembly": "", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "legacyAssembly": null, + "methodIdentifiers": { + "attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))": "f17325e7", + "attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))": "3c042715", + "getAttestation(bytes32)": "a3112a64", + "getRevokeOffchain(address,bytes32)": "b469318d", + "getSchemaRegistry()": "f10b5cc8", + "getTimestamp(bytes32)": "d45c4435", + "isAttestationValid(bytes32)": "e30bb563", + "multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])": "44adc90e", + "multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": "95411525", + "multiRevoke((bytes32,(bytes32,uint256)[])[])": "4cb7e9e5", + "multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": "0eabf660", + "multiRevokeOffchain(bytes32[])": "13893f61", + "multiTimestamp(bytes32[])": "e71ff365", + "revoke((bytes32,(bytes32,uint256)))": "46926267", + "revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))": "a6d4dbc7", + "revokeOffchain(bytes32)": "cf190f34", + "timestamp(bytes32)": "4d003070", + "version()": "54fd4d50" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"schemaUID\",\"type\":\"bytes32\"}],\"name\":\"Attested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"schemaUID\",\"type\":\"bytes32\"}],\"name\":\"Revoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"RevokedOffchain\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"Timestamped\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct AttestationRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData\",\"name\":\"data\",\"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\":\"signature\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct DelegatedAttestationRequest\",\"name\":\"delegatedRequest\",\"type\":\"tuple\"}],\"name\":\"attestByDelegation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"getAttestation\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"getRevokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSchemaRegistry\",\"outputs\":[{\"internalType\":\"contract ISchemaRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"isAttestationValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"}],\"internalType\":\"struct MultiAttestationRequest[]\",\"name\":\"multiRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData[]\",\"name\":\"data\",\"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\":\"signatures\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct MultiDelegatedAttestationRequest[]\",\"name\":\"multiDelegatedRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiAttestByDelegation\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"}],\"internalType\":\"struct MultiRevocationRequest[]\",\"name\":\"multiRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiRevoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData[]\",\"name\":\"data\",\"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\":\"signatures\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct MultiDelegatedRevocationRequest[]\",\"name\":\"multiDelegatedRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiRevokeByDelegation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"multiRevokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"multiTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct RevocationRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData\",\"name\":\"data\",\"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\":\"signature\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct DelegatedRevocationRequest\",\"name\":\"delegatedRequest\",\"type\":\"tuple\"}],\"name\":\"revokeByDelegation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"revokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"timestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Attested(address,address,bytes32,bytes32)\":{\"params\":{\"attester\":\"The attesting account.\",\"recipient\":\"The recipient of the attestation.\",\"schemaUID\":\"The UID of the schema.\",\"uid\":\"The UID of the new attestation.\"}},\"Revoked(address,address,bytes32,bytes32)\":{\"params\":{\"attester\":\"The attesting account.\",\"recipient\":\"The recipient of the attestation.\",\"schemaUID\":\"The UID of the schema.\",\"uid\":\"The UID the revoked attestation.\"}},\"RevokedOffchain(address,bytes32,uint64)\":{\"params\":{\"data\":\"The data.\",\"revoker\":\"The address of the revoker.\",\"timestamp\":\"The timestamp.\"}},\"Timestamped(bytes32,uint64)\":{\"params\":{\"data\":\"The data.\",\"timestamp\":\"The timestamp.\"}}},\"kind\":\"dev\",\"methods\":{\"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))\":{\"params\":{\"request\":\"The arguments of the attestation request.\"},\"returns\":{\"_0\":\"The UID of the new attestation. Example: attest({ schema: \\\"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\\\", data: { recipient: \\\"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\\\", expirationTime: 0, revocable: true, refUID: \\\"0x0000000000000000000000000000000000000000000000000000000000000000\\\", data: \\\"0xF00D\\\", value: 0 } })\"}},\"attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"params\":{\"delegatedRequest\":\"The arguments of the delegated attestation request.\"},\"returns\":{\"_0\":\"The UID of the new attestation. Example: attestByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, signature: { v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e', deadline: 1673891048 })\"}},\"getAttestation(bytes32)\":{\"params\":{\"uid\":\"The UID of the attestation to retrieve.\"},\"returns\":{\"_0\":\"The attestation data members.\"}},\"getRevokeOffchain(address,bytes32)\":{\"params\":{\"data\":\"The data to query.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"getSchemaRegistry()\":{\"returns\":{\"_0\":\"The address of the global schema registry.\"}},\"getTimestamp(bytes32)\":{\"params\":{\"data\":\"The data to query.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"isAttestationValid(bytes32)\":{\"params\":{\"uid\":\"The UID of the attestation to retrieve.\"},\"returns\":{\"_0\":\"Whether an attestation exists.\"}},\"multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])\":{\"params\":{\"multiRequests\":\"The arguments of the multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization.\"},\"returns\":{\"_0\":\"The UIDs of the new attestations. Example: multiAttest([{ schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd', data: [{ recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 1000 }, { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 0, revocable: false, refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174', data: '0x00', value: 0 }], }, { schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', data: [{ recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: true, refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f', data: '0x12345678', value: 0 }, }])\"}},\"multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"params\":{\"multiDelegatedRequests\":\"The arguments of the delegated multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization.\"},\"returns\":{\"_0\":\"The UIDs of the new attestations. Example: multiAttestByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, { recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: false, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x00', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4', deadline: 1673891048 }])\"}},\"multiRevoke((bytes32,(bytes32,uint256)[])[])\":{\"params\":{\"multiRequests\":\"The arguments of the multi revocation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization. Example: multiRevoke([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], }, { schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', data: [{ uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019', value: 0 }, }])\"}},\"multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"params\":{\"multiDelegatedRequests\":\"The arguments of the delegated multi revocation attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization. Example: multiRevokeByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 }])\"}},\"multiRevokeOffchain(bytes32[])\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was revoked with.\"}},\"multiTimestamp(bytes32[])\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"revoke((bytes32,(bytes32,uint256)))\":{\"params\":{\"request\":\"The arguments of the revocation request. Example: revoke({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d', value: 0 } })\"}},\"revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"params\":{\"delegatedRequest\":\"The arguments of the delegated revocation request. Example: revokeByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba', value: 0 }, signature: { v: 27, r: '0xb593...7142', s: '0x0f5b...2cce' }, revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 })\"}},\"revokeOffchain(bytes32)\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was revoked with.\"}},\"timestamp(bytes32)\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"IEAS\",\"version\":1},\"userdoc\":{\"events\":{\"Attested(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted when an attestation has been made.\"},\"Revoked(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted when an attestation has been revoked.\"},\"RevokedOffchain(address,bytes32,uint64)\":{\"notice\":\"Emitted when a data has been revoked.\"},\"Timestamped(bytes32,uint64)\":{\"notice\":\"Emitted when a data has been timestamped.\"}},\"kind\":\"user\",\"methods\":{\"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))\":{\"notice\":\"Attests to a specific schema.\"},\"attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"notice\":\"Attests to a specific schema via the provided ECDSA signature.\"},\"getAttestation(bytes32)\":{\"notice\":\"Returns an existing attestation by UID.\"},\"getRevokeOffchain(address,bytes32)\":{\"notice\":\"Returns the timestamp that the specified data was timestamped with.\"},\"getSchemaRegistry()\":{\"notice\":\"Returns the address of the global schema registry.\"},\"getTimestamp(bytes32)\":{\"notice\":\"Returns the timestamp that the specified data was timestamped with.\"},\"isAttestationValid(bytes32)\":{\"notice\":\"Checks whether an attestation exists.\"},\"multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])\":{\"notice\":\"Attests to multiple schemas.\"},\"multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"notice\":\"Attests to multiple schemas using via provided ECDSA signatures.\"},\"multiRevoke((bytes32,(bytes32,uint256)[])[])\":{\"notice\":\"Revokes existing attestations to multiple schemas.\"},\"multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"notice\":\"Revokes existing attestations to multiple schemas via provided ECDSA signatures.\"},\"multiRevokeOffchain(bytes32[])\":{\"notice\":\"Revokes the specified multiple bytes32 data.\"},\"multiTimestamp(bytes32[])\":{\"notice\":\"Timestamps the specified multiple bytes32 data.\"},\"revoke((bytes32,(bytes32,uint256)))\":{\"notice\":\"Revokes an existing attestation to a specific schema.\"},\"revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"notice\":\"Revokes an existing attestation to a specific schema via the provided ECDSA signature.\"},\"revokeOffchain(bytes32)\":{\"notice\":\"Revokes the specified bytes32 data.\"},\"timestamp(bytes32)\":{\"notice\":\"Timestamps the specified bytes32 data.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"EAS - Ethereum Attestation Service interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/IEAS.sol\":\"IEAS\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/IEAS.sol\":{\"keccak256\":\"0xdc4fed434a7d7907767ba1dc6a8e9ddc94ede6df08fbea5d827077ef22e8bd8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://297555c22ff767608088c01ba2efe6da4dff7e95b7eb614e09d72cb36d0c989b\",\"dweb:/ipfs/QmQ7YWcBxiaf2mXZL1VLFsYSJPtVTHbWSBuimATVLMC7U4\"]},\"EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749\",\"dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "events": { + "Attested(address,address,bytes32,bytes32)": { + "notice": "Emitted when an attestation has been made." + }, + "Revoked(address,address,bytes32,bytes32)": { + "notice": "Emitted when an attestation has been revoked." + }, + "RevokedOffchain(address,bytes32,uint64)": { + "notice": "Emitted when a data has been revoked." + }, + "Timestamped(bytes32,uint64)": { + "notice": "Emitted when a data has been timestamped." + } + }, + "kind": "user", + "methods": { + "attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))": { + "notice": "Attests to a specific schema." + }, + "attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))": { + "notice": "Attests to a specific schema via the provided ECDSA signature." + }, + "getAttestation(bytes32)": { + "notice": "Returns an existing attestation by UID." + }, + "getRevokeOffchain(address,bytes32)": { + "notice": "Returns the timestamp that the specified data was timestamped with." + }, + "getSchemaRegistry()": { + "notice": "Returns the address of the global schema registry." + }, + "getTimestamp(bytes32)": { + "notice": "Returns the timestamp that the specified data was timestamped with." + }, + "isAttestationValid(bytes32)": { + "notice": "Checks whether an attestation exists." + }, + "multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])": { + "notice": "Attests to multiple schemas." + }, + "multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": { + "notice": "Attests to multiple schemas using via provided ECDSA signatures." + }, + "multiRevoke((bytes32,(bytes32,uint256)[])[])": { + "notice": "Revokes existing attestations to multiple schemas." + }, + "multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": { + "notice": "Revokes existing attestations to multiple schemas via provided ECDSA signatures." + }, + "multiRevokeOffchain(bytes32[])": { + "notice": "Revokes the specified multiple bytes32 data." + }, + "multiTimestamp(bytes32[])": { + "notice": "Timestamps the specified multiple bytes32 data." + }, + "revoke((bytes32,(bytes32,uint256)))": { + "notice": "Revokes an existing attestation to a specific schema." + }, + "revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))": { + "notice": "Revokes an existing attestation to a specific schema via the provided ECDSA signature." + }, + "revokeOffchain(bytes32)": { + "notice": "Revokes the specified bytes32 data." + }, + "timestamp(bytes32)": { + "notice": "Timestamps the specified bytes32 data." + }, + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "notice": "EAS - Ethereum Attestation Service interface.", + "version": 1 + } + } + }, + "EAS/ISchemaRegistry.sol": { + "ISchemaRegistry": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "registerer", + "type": "address" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "contract ISchemaResolver", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "string", + "name": "schema", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct SchemaRecord", + "name": "schema", + "type": "tuple" + } + ], + "name": "Registered", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + } + ], + "name": "getSchema", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "contract ISchemaResolver", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "string", + "name": "schema", + "type": "string" + } + ], + "internalType": "struct SchemaRecord", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "schema", + "type": "string" + }, + { + "internalType": "contract ISchemaResolver", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "devdoc": { + "events": { + "Registered(bytes32,address,(bytes32,address,bool,string))": { + "params": { + "registerer": "The address of the account used to register the schema.", + "schema": "The schema data.", + "uid": "The schema UID." + } + } + }, + "kind": "dev", + "methods": { + "getSchema(bytes32)": { + "params": { + "uid": "The UID of the schema to retrieve." + }, + "returns": { + "_0": "The schema data members." + } + }, + "register(string,address,bool)": { + "params": { + "resolver": "An optional schema resolver.", + "revocable": "Whether the schema allows revocations explicitly.", + "schema": "The schema data schema." + }, + "returns": { + "_0": "The UID of the new schema." + } + }, + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "ISchemaRegistry", + "version": 1 + }, + "evm": { + "assembly": "", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "legacyAssembly": null, + "methodIdentifiers": { + "getSchema(bytes32)": "a2ea7c6e", + "register(string,address,bool)": "60d7a278", + "version()": "54fd4d50" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"registerer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct SchemaRecord\",\"name\":\"schema\",\"type\":\"tuple\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"getSchema\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"}],\"internalType\":\"struct SchemaRecord\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"},{\"internalType\":\"contract ISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Registered(bytes32,address,(bytes32,address,bool,string))\":{\"params\":{\"registerer\":\"The address of the account used to register the schema.\",\"schema\":\"The schema data.\",\"uid\":\"The schema UID.\"}}},\"kind\":\"dev\",\"methods\":{\"getSchema(bytes32)\":{\"params\":{\"uid\":\"The UID of the schema to retrieve.\"},\"returns\":{\"_0\":\"The schema data members.\"}},\"register(string,address,bool)\":{\"params\":{\"resolver\":\"An optional schema resolver.\",\"revocable\":\"Whether the schema allows revocations explicitly.\",\"schema\":\"The schema data schema.\"},\"returns\":{\"_0\":\"The UID of the new schema.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"ISchemaRegistry\",\"version\":1},\"userdoc\":{\"events\":{\"Registered(bytes32,address,(bytes32,address,bool,string))\":{\"notice\":\"Emitted when a new schema has been registered\"}},\"kind\":\"user\",\"methods\":{\"getSchema(bytes32)\":{\"notice\":\"Returns an existing schema by UID\"},\"register(string,address,bool)\":{\"notice\":\"Submits and reserves a new schema\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"The interface of global attestation schemas for the Ethereum Attestation Service protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/ISchemaRegistry.sol\":\"ISchemaRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749\",\"dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "events": { + "Registered(bytes32,address,(bytes32,address,bool,string))": { + "notice": "Emitted when a new schema has been registered" + } + }, + "kind": "user", + "methods": { + "getSchema(bytes32)": { + "notice": "Returns an existing schema by UID" + }, + "register(string,address,bool)": { + "notice": "Submits and reserves a new schema" + }, + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "notice": "The interface of global attestation schemas for the Ethereum Attestation Service protocol.", + "version": 1 + } + } + }, + "EAS/ISchemaResolver.sol": { + "ISchemaResolver": { + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "attest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isPayable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiAttest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiRevoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "revoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "params": { + "attestation": "The new attestation." + }, + "returns": { + "_0": "Whether the attestation is valid." + } + }, + "isPayable()": { + "returns": { + "_0": "Whether the resolver supports ETH transfers." + } + }, + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "params": { + "attestations": "The new attestations.", + "values": "Explicit ETH amounts which were sent with each attestation." + }, + "returns": { + "_0": "Whether all the attestations are valid." + } + }, + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "params": { + "attestations": "The existing attestations to be revoked.", + "values": "Explicit ETH amounts which were sent with each revocation." + }, + "returns": { + "_0": "Whether the attestations can be revoked." + } + }, + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "params": { + "attestation": "The existing attestation to be revoked." + }, + "returns": { + "_0": "Whether the attestation can be revoked." + } + }, + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "ISchemaResolver", + "version": 1 + }, + "evm": { + "assembly": "", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "legacyAssembly": null, + "methodIdentifiers": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", + "isPayable()": "ce46e046", + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", + "version()": "54fd4d50" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPayable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiRevoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The new attestation.\"},\"returns\":{\"_0\":\"Whether the attestation is valid.\"}},\"isPayable()\":{\"returns\":{\"_0\":\"Whether the resolver supports ETH transfers.\"}},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The new attestations.\",\"values\":\"Explicit ETH amounts which were sent with each attestation.\"},\"returns\":{\"_0\":\"Whether all the attestations are valid.\"}},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The existing attestations to be revoked.\",\"values\":\"Explicit ETH amounts which were sent with each revocation.\"},\"returns\":{\"_0\":\"Whether the attestations can be revoked.\"}},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The existing attestation to be revoked.\"},\"returns\":{\"_0\":\"Whether the attestation can be revoked.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"ISchemaResolver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation and verifies whether it's valid.\"},\"isPayable()\":{\"notice\":\"Checks if the resolver can be sent ETH.\"},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes multiple attestations and verifies whether they are valid.\"},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes revocation of multiple attestation and verifies they can be revoked.\"},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation revocation and verifies if it can be revoked.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"The interface of an optional schema resolver.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/ISchemaResolver.sol\":\"ISchemaResolver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "notice": "Processes an attestation and verifies whether it's valid." + }, + "isPayable()": { + "notice": "Checks if the resolver can be sent ETH." + }, + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "notice": "Processes multiple attestations and verifies whether they are valid." + }, + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "notice": "Processes revocation of multiple attestation and verifies they can be revoked." + }, + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "notice": "Processes an attestation revocation and verifies if it can be revoked." + }, + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "notice": "The interface of an optional schema resolver.", + "version": 1 + } + } + }, + "EAS/ISemver.sol": { + "ISemver": { + "abi": [ + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "ISemver", + "version": 1 + }, + "evm": { + "assembly": "", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "legacyAssembly": null, + "methodIdentifiers": { + "version()": "54fd4d50" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"ISemver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"A semver interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/ISemver.sol\":\"ISemver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": { + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "notice": "A semver interface.", + "version": 1 + } + } + }, + "EAS/SchemaResolver.sol": { + "SchemaResolver": { + "abi": [ + { + "inputs": [], + "name": "AccessDenied", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientValue", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidEAS", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidLength", + "type": "error" + }, + { + "inputs": [], + "name": "NotPayable", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "attest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isPayable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiAttest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiRevoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "revoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "params": { + "attestation": "The new attestation." + }, + "returns": { + "_0": "Whether the attestation is valid." + } + }, + "constructor": { + "details": "Creates a new resolver.", + "params": { + "eas": "The address of the global EAS contract." + } + }, + "isPayable()": { + "returns": { + "_0": "Whether the resolver supports ETH transfers." + } + }, + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "params": { + "attestations": "The new attestations.", + "values": "Explicit ETH amounts which were sent with each attestation." + }, + "returns": { + "_0": "Whether all the attestations are valid." + } + }, + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "params": { + "attestations": "The existing attestations to be revoked.", + "values": "Explicit ETH amounts which were sent with each revocation." + }, + "returns": { + "_0": "Whether the attestations can be revoked." + } + }, + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "params": { + "attestation": "The existing attestation to be revoked." + }, + "returns": { + "_0": "Whether the attestation can be revoked." + } + }, + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "SchemaResolver", + "version": 1 + }, + "evm": { + "assembly": "", + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "legacyAssembly": null, + "methodIdentifiers": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", + "isPayable()": "ce46e046", + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", + "version()": "54fd4d50" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEAS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPayable\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPayable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiRevoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The new attestation.\"},\"returns\":{\"_0\":\"Whether the attestation is valid.\"}},\"constructor\":{\"details\":\"Creates a new resolver.\",\"params\":{\"eas\":\"The address of the global EAS contract.\"}},\"isPayable()\":{\"returns\":{\"_0\":\"Whether the resolver supports ETH transfers.\"}},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The new attestations.\",\"values\":\"Explicit ETH amounts which were sent with each attestation.\"},\"returns\":{\"_0\":\"Whether all the attestations are valid.\"}},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The existing attestations to be revoked.\",\"values\":\"Explicit ETH amounts which were sent with each revocation.\"},\"returns\":{\"_0\":\"Whether the attestations can be revoked.\"}},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The existing attestation to be revoked.\"},\"returns\":{\"_0\":\"Whether the attestation can be revoked.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"SchemaResolver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation and verifies whether it's valid.\"},\"isPayable()\":{\"notice\":\"Checks if the resolver can be sent ETH.\"},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes multiple attestations and verifies whether they are valid.\"},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes revocation of multiple attestation and verifies they can be revoked.\"},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation revocation and verifies if it can be revoked.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"The base schema resolver contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/SchemaResolver.sol\":\"SchemaResolver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/IEAS.sol\":{\"keccak256\":\"0xdc4fed434a7d7907767ba1dc6a8e9ddc94ede6df08fbea5d827077ef22e8bd8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://297555c22ff767608088c01ba2efe6da4dff7e95b7eb614e09d72cb36d0c989b\",\"dweb:/ipfs/QmQ7YWcBxiaf2mXZL1VLFsYSJPtVTHbWSBuimATVLMC7U4\"]},\"EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749\",\"dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]},\"EAS/SchemaResolver.sol\":{\"keccak256\":\"0xb6dc636c973996ca481d6522decae3ecae8c043c8d2ca5228e8f53a6c0210951\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7f2f9db27662ba6aea6be58351e1cc834a1c84122a6cecfcb6d293628a1364\",\"dweb:/ipfs/QmTkQ7gDaJaY4tgneQyNxmbz9AovJQmMfuZgG8akbAqu5K\"]},\"EAS/Semver.sol\":{\"keccak256\":\"0xcb67b60a08b4acb41ccda1ee2a44bb3d4291f3da9ecd60eed49991bdbfafb972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eea3e91b983ce442be39c0a88c93627043d1c6de342be99562916a948a5933e3\",\"dweb:/ipfs/QmTFeE2vsjwn1pNeSMWAoQ4NivUTHza5DYMgJA854Ddx8F\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "notice": "Processes an attestation and verifies whether it's valid." + }, + "isPayable()": { + "notice": "Checks if the resolver can be sent ETH." + }, + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "notice": "Processes multiple attestations and verifies whether they are valid." + }, + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "notice": "Processes revocation of multiple attestation and verifies they can be revoked." + }, + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "notice": "Processes an attestation revocation and verifies if it can be revoked." + }, + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "notice": "The base schema resolver contract.", + "version": 1 + } + } + }, + "EAS/Semver.sol": { + "Semver": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "major", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minor", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "patch", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "constructor": { + "details": "Create a new Semver instance.", + "params": { + "major": "Major version number.", + "minor": "Minor version number.", + "patch": "Patch version number." + } + }, + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "Semver", + "version": 1 + }, + "evm": { + "assembly": " /* \"EAS/Semver.sol\":250:1182 contract Semver is ISemver {... */\n mstore(0x40, 0xe0)\n /* \"EAS/Semver.sol\":692:828 constructor(uint256 major, uint256 minor, uint256 patch) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"EAS/Semver.sol\":768:773 major */\n dup3\n /* \"EAS/Semver.sol\":759:773 _major = major */\n 0x80\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":792:797 minor */\n dup2\n /* \"EAS/Semver.sol\":783:797 _minor = minor */\n 0xa0\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":816:821 patch */\n dup1\n /* \"EAS/Semver.sol\":807:821 _patch = patch */\n 0xc0\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":692:828 constructor(uint256 major, uint256 minor, uint256 patch) {... */\n pop\n pop\n pop\n /* \"EAS/Semver.sol\":250:1182 contract Semver is ISemver {... */\n jump(tag_6)\n /* \"#utility.yul\":88:205 */\ntag_8:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:411 */\ntag_10:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\ntag_11:\n /* \"#utility.yul\":490:514 */\n tag_19\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_10\n jump\t// in\ntag_19:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_20\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\ntag_20:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:688 */\ntag_12:\n /* \"#utility.yul\":602:607 */\n 0x00\n /* \"#utility.yul\":633:639 */\n dup2\n /* \"#utility.yul\":627:640 */\n mload\n /* \"#utility.yul\":618:640 */\n swap1\n pop\n /* \"#utility.yul\":649:682 */\n tag_22\n /* \"#utility.yul\":676:681 */\n dup2\n /* \"#utility.yul\":649:682 */\n tag_11\n jump\t// in\ntag_22:\n /* \"#utility.yul\":545:688 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":694:1357 */\ntag_3:\n /* \"#utility.yul\":782:788 */\n 0x00\n /* \"#utility.yul\":790:796 */\n dup1\n /* \"#utility.yul\":798:804 */\n 0x00\n /* \"#utility.yul\":847:849 */\n 0x60\n /* \"#utility.yul\":835:844 */\n dup5\n /* \"#utility.yul\":826:833 */\n dup7\n /* \"#utility.yul\":822:845 */\n sub\n /* \"#utility.yul\":818:850 */\n slt\n /* \"#utility.yul\":815:934 */\n iszero\n tag_24\n jumpi\n /* \"#utility.yul\":853:932 */\n tag_25\n tag_8\n jump\t// in\ntag_25:\n /* \"#utility.yul\":815:934 */\ntag_24:\n /* \"#utility.yul\":973:974 */\n 0x00\n /* \"#utility.yul\":998:1062 */\n tag_26\n /* \"#utility.yul\":1054:1061 */\n dup7\n /* \"#utility.yul\":1045:1051 */\n dup3\n /* \"#utility.yul\":1034:1043 */\n dup8\n /* \"#utility.yul\":1030:1052 */\n add\n /* \"#utility.yul\":998:1062 */\n tag_12\n jump\t// in\ntag_26:\n /* \"#utility.yul\":988:1062 */\n swap4\n pop\n /* \"#utility.yul\":944:1072 */\n pop\n /* \"#utility.yul\":1111:1113 */\n 0x20\n /* \"#utility.yul\":1137:1201 */\n tag_27\n /* \"#utility.yul\":1193:1200 */\n dup7\n /* \"#utility.yul\":1184:1190 */\n dup3\n /* \"#utility.yul\":1173:1182 */\n dup8\n /* \"#utility.yul\":1169:1191 */\n add\n /* \"#utility.yul\":1137:1201 */\n tag_12\n jump\t// in\ntag_27:\n /* \"#utility.yul\":1127:1201 */\n swap3\n pop\n /* \"#utility.yul\":1082:1211 */\n pop\n /* \"#utility.yul\":1250:1252 */\n 0x40\n /* \"#utility.yul\":1276:1340 */\n tag_28\n /* \"#utility.yul\":1332:1339 */\n dup7\n /* \"#utility.yul\":1323:1329 */\n dup3\n /* \"#utility.yul\":1312:1321 */\n dup8\n /* \"#utility.yul\":1308:1330 */\n add\n /* \"#utility.yul\":1276:1340 */\n tag_12\n jump\t// in\ntag_28:\n /* \"#utility.yul\":1266:1340 */\n swap2\n pop\n /* \"#utility.yul\":1221:1350 */\n pop\n /* \"#utility.yul\":694:1357 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"EAS/Semver.sol\":250:1182 contract Semver is ISemver {... */\ntag_6:\n mload(0x80)\n mload(0xa0)\n mload(0xc0)\n codecopy(0x00, dataOffset(sub_0), dataSize(sub_0))\n 0x00\n assignImmutable(\"0xb264290b39caa425e41c2393e10056c6bf6aefcb7750f619dd0d6dd4d035e225\")\n 0x00\n assignImmutable(\"0x4898df15ec6590495dc6c0fedf951ade3e64001d47f9caf44a64e86fc11959df\")\n 0x00\n assignImmutable(\"0x08b2c4590c6811ffb7cb8659cd18fb3368dba395a633f764dbf449be06307fe1\")\n return(0x00, dataSize(sub_0))\nstop\n\nsub_0: assembly {\n /* \"EAS/Semver.sol\":250:1182 contract Semver is ISemver {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x54fd4d50\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n tag_3:\n tag_4\n tag_5\n jump\t// in\n tag_4:\n mload(0x40)\n tag_6\n swap2\n swap1\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_5:\n /* \"EAS/Semver.sol\":987:1000 string memory */\n 0x60\n /* \"EAS/Semver.sol\":1072:1096 Strings.toString(_major) */\n tag_9\n /* \"EAS/Semver.sol\":1089:1095 _major */\n immutable(\"0x08b2c4590c6811ffb7cb8659cd18fb3368dba395a633f764dbf449be06307fe1\")\n /* \"EAS/Semver.sol\":1072:1088 Strings.toString */\n tag_10\n /* \"EAS/Semver.sol\":1072:1096 Strings.toString(_major) */\n jump\t// in\n tag_9:\n /* \"EAS/Semver.sol\":1103:1127 Strings.toString(_minor) */\n tag_11\n /* \"EAS/Semver.sol\":1120:1126 _minor */\n immutable(\"0x4898df15ec6590495dc6c0fedf951ade3e64001d47f9caf44a64e86fc11959df\")\n /* \"EAS/Semver.sol\":1103:1119 Strings.toString */\n tag_10\n /* \"EAS/Semver.sol\":1103:1127 Strings.toString(_minor) */\n jump\t// in\n tag_11:\n /* \"EAS/Semver.sol\":1134:1158 Strings.toString(_patch) */\n tag_12\n /* \"EAS/Semver.sol\":1151:1157 _patch */\n immutable(\"0xb264290b39caa425e41c2393e10056c6bf6aefcb7750f619dd0d6dd4d035e225\")\n /* \"EAS/Semver.sol\":1134:1150 Strings.toString */\n tag_10\n /* \"EAS/Semver.sol\":1134:1158 Strings.toString(_patch) */\n jump\t// in\n tag_12:\n /* \"EAS/Semver.sol\":1055:1159 abi.encodePacked(Strings.toString(_major), \".\", Strings.toString(_minor), \".\", Strings.toString(_patch)) */\n add(0x20, mload(0x40))\n tag_13\n swap4\n swap3\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"EAS/Semver.sol\":1012:1173 return... */\n swap1\n pop\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n swap1\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Strings.sol\":637:1335 function toString(uint256 value) internal pure returns (string memory) {... */\n tag_10:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":693:706 string memory */\n 0x60\n /* \"@openzeppelin/contracts/utils/Strings.sol\":742:756 uint256 length */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":779:780 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:776 Math.log10(value) */\n tag_16\n /* \"@openzeppelin/contracts/utils/Strings.sol\":770:775 value */\n dup5\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:769 Math.log10 */\n tag_17\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:776 Math.log10(value) */\n jump\t// in\n tag_16:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:780 Math.log10(value) + 1 */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":742:780 uint256 length = Math.log10(value) + 1 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":794:814 string memory buffer */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":828:834 length */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":817:835 new string(length) */\n 0xffffffffffffffff\n dup2\n gt\n iszero\n tag_18\n jumpi\n tag_19\n tag_20\n jump\t// in\n tag_19:\n tag_18:\n mload(0x40)\n swap1\n dup1\n dup3\n mstore\n dup1\n 0x1f\n add\n not(0x1f)\n and\n 0x20\n add\n dup3\n add\n 0x40\n mstore\n dup1\n iszero\n tag_21\n jumpi\n dup2\n 0x20\n add\n 0x01\n dup3\n mul\n dup1\n calldatasize\n dup4\n calldatacopy\n dup1\n dup3\n add\n swap2\n pop\n pop\n swap1\n pop\n tag_21:\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":794:835 string memory buffer = new string(length) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":849:860 uint256 ptr */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":975:981 length */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":971:973 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/Strings.sol\":967:982 add(32, length) */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":959:965 buffer */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":955:983 add(buffer, add(32, length)) */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":948:983 ptr := add(buffer, add(32, length)) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_22:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1017:1021 true */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n iszero\n tag_23\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1041:1046 ptr-- */\n dup1\n dup1\n 0x01\n swap1\n sub\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1180:1190 HEX_DIGITS */\n 0x3031323334353637383961626364656600000000000000000000000000000000\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1175:1177 10 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1168:1173 value */\n dup7\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1164:1178 mod(value, 10) */\n mod\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1159:1191 byte(mod(value, 10), HEX_DIGITS) */\n byte\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1154:1157 ptr */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1146:1192 mstore8(ptr, byte(mod(value, 10), HEX_DIGITS)) */\n mstore8\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1236:1238 10 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1227:1238 value /= 10 */\n dup6\n dup2\n tag_24\n jumpi\n tag_25\n tag_26\n jump\t// in\n tag_25:\n tag_24:\n div\n swap5\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1269:1270 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1260:1265 value */\n dup6\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1260:1270 value == 0 */\n sub\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_22\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1256:1277 if (value == 0) break */\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_23:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1312:1318 buffer */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1305:1318 return buffer */\n swap4\n pop\n pop\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":637:1335 function toString(uint256 value) internal pure returns (string memory) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12214:13130 function log10(uint256 value) internal pure returns (uint256) {... */\n tag_17:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12267:12274 uint256 */\n 0x00\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12286:12300 uint256 result */\n dup1\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12303:12304 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12286:12304 uint256 result = 0 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12351:12359 10 ** 64 */\n 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12342:12347 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12342:12359 value >= 10 ** 64 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12338:12441 if (value >= 10 ** 64) {... */\n tag_29\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12388:12396 10 ** 64 */\n 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12379:12396 value /= 10 ** 64 */\n dup4\n dup2\n tag_30\n jumpi\n tag_31\n tag_26\n jump\t// in\n tag_31:\n tag_30:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12424:12426 64 */\n 0x40\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12414:12426 result += 64 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12338:12441 if (value >= 10 ** 64) {... */\n tag_29:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12467:12475 10 ** 32 */\n 0x04ee2d6d415b85acef8100000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12458:12463 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12458:12475 value >= 10 ** 32 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12454:12557 if (value >= 10 ** 32) {... */\n tag_32\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12504:12512 10 ** 32 */\n 0x04ee2d6d415b85acef8100000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12495:12512 value /= 10 ** 32 */\n dup4\n dup2\n tag_33\n jumpi\n tag_34\n tag_26\n jump\t// in\n tag_34:\n tag_33:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12540:12542 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12530:12542 result += 32 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12454:12557 if (value >= 10 ** 32) {... */\n tag_32:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12583:12591 10 ** 16 */\n 0x2386f26fc10000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12574:12579 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12574:12591 value >= 10 ** 16 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12570:12673 if (value >= 10 ** 16) {... */\n tag_35\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12620:12628 10 ** 16 */\n 0x2386f26fc10000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12611:12628 value /= 10 ** 16 */\n dup4\n dup2\n tag_36\n jumpi\n tag_37\n tag_26\n jump\t// in\n tag_37:\n tag_36:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12656:12658 16 */\n 0x10\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12646:12658 result += 16 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12570:12673 if (value >= 10 ** 16) {... */\n tag_35:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12699:12706 10 ** 8 */\n 0x05f5e100\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12690:12695 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12690:12706 value >= 10 ** 8 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12686:12786 if (value >= 10 ** 8) {... */\n tag_38\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12735:12742 10 ** 8 */\n 0x05f5e100\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12726:12742 value /= 10 ** 8 */\n dup4\n dup2\n tag_39\n jumpi\n tag_40\n tag_26\n jump\t// in\n tag_40:\n tag_39:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12770:12771 8 */\n 0x08\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12760:12771 result += 8 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12686:12786 if (value >= 10 ** 8) {... */\n tag_38:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12812:12819 10 ** 4 */\n 0x2710\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12803:12808 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12803:12819 value >= 10 ** 4 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12799:12899 if (value >= 10 ** 4) {... */\n tag_41\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12848:12855 10 ** 4 */\n 0x2710\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12839:12855 value /= 10 ** 4 */\n dup4\n dup2\n tag_42\n jumpi\n tag_43\n tag_26\n jump\t// in\n tag_43:\n tag_42:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12883:12884 4 */\n 0x04\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12873:12884 result += 4 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12799:12899 if (value >= 10 ** 4) {... */\n tag_41:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12925:12932 10 ** 2 */\n 0x64\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12916:12921 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12916:12932 value >= 10 ** 2 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12912:13012 if (value >= 10 ** 2) {... */\n tag_44\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12961:12968 10 ** 2 */\n 0x64\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12952:12968 value /= 10 ** 2 */\n dup4\n dup2\n tag_45\n jumpi\n tag_46\n tag_26\n jump\t// in\n tag_46:\n tag_45:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12996:12997 2 */\n 0x02\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12986:12997 result += 2 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12912:13012 if (value >= 10 ** 2) {... */\n tag_44:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13038:13045 10 ** 1 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13029:13034 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13029:13045 value >= 10 ** 1 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13025:13091 if (value >= 10 ** 1) {... */\n tag_47\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13075:13076 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13065:13076 result += 1 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13025:13091 if (value >= 10 ** 1) {... */\n tag_47:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13117:13123 result */\n dup1\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13110:13123 return result */\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12214:13130 function log10(uint256 value) internal pure returns (uint256) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_48:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:281 */\n tag_49:\n /* \"#utility.yul\":196:207 */\n 0x00\n /* \"#utility.yul\":230:236 */\n dup3\n /* \"#utility.yul\":225:228 */\n dup3\n /* \"#utility.yul\":218:237 */\n mstore\n /* \"#utility.yul\":270:274 */\n 0x20\n /* \"#utility.yul\":265:268 */\n dup3\n /* \"#utility.yul\":261:275 */\n add\n /* \"#utility.yul\":246:275 */\n swap1\n pop\n /* \"#utility.yul\":112:281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":287:426 */\n tag_50:\n /* \"#utility.yul\":376:382 */\n dup3\n /* \"#utility.yul\":371:374 */\n dup2\n /* \"#utility.yul\":366:369 */\n dup4\n /* \"#utility.yul\":360:383 */\n mcopy\n /* \"#utility.yul\":417:418 */\n 0x00\n /* \"#utility.yul\":408:414 */\n dup4\n /* \"#utility.yul\":403:406 */\n dup4\n /* \"#utility.yul\":399:415 */\n add\n /* \"#utility.yul\":392:419 */\n mstore\n /* \"#utility.yul\":287:426 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":432:534 */\n tag_51:\n /* \"#utility.yul\":473:479 */\n 0x00\n /* \"#utility.yul\":524:526 */\n 0x1f\n /* \"#utility.yul\":520:527 */\n not\n /* \"#utility.yul\":515:517 */\n 0x1f\n /* \"#utility.yul\":508:513 */\n dup4\n /* \"#utility.yul\":504:518 */\n add\n /* \"#utility.yul\":500:528 */\n and\n /* \"#utility.yul\":490:528 */\n swap1\n pop\n /* \"#utility.yul\":432:534 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":540:917 */\n tag_52:\n /* \"#utility.yul\":628:631 */\n 0x00\n /* \"#utility.yul\":656:695 */\n tag_63\n /* \"#utility.yul\":689:694 */\n dup3\n /* \"#utility.yul\":656:695 */\n tag_48\n jump\t// in\n tag_63:\n /* \"#utility.yul\":711:782 */\n tag_64\n /* \"#utility.yul\":775:781 */\n dup2\n /* \"#utility.yul\":770:773 */\n dup6\n /* \"#utility.yul\":711:782 */\n tag_49\n jump\t// in\n tag_64:\n /* \"#utility.yul\":704:782 */\n swap4\n pop\n /* \"#utility.yul\":791:856 */\n tag_65\n /* \"#utility.yul\":849:855 */\n dup2\n /* \"#utility.yul\":844:847 */\n dup6\n /* \"#utility.yul\":837:841 */\n 0x20\n /* \"#utility.yul\":830:835 */\n dup7\n /* \"#utility.yul\":826:842 */\n add\n /* \"#utility.yul\":791:856 */\n tag_50\n jump\t// in\n tag_65:\n /* \"#utility.yul\":881:910 */\n tag_66\n /* \"#utility.yul\":903:909 */\n dup2\n /* \"#utility.yul\":881:910 */\n tag_51\n jump\t// in\n tag_66:\n /* \"#utility.yul\":876:879 */\n dup5\n /* \"#utility.yul\":872:911 */\n add\n /* \"#utility.yul\":865:911 */\n swap2\n pop\n /* \"#utility.yul\":632:917 */\n pop\n /* \"#utility.yul\":540:917 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":923:1236 */\n tag_7:\n /* \"#utility.yul\":1036:1040 */\n 0x00\n /* \"#utility.yul\":1074:1076 */\n 0x20\n /* \"#utility.yul\":1063:1072 */\n dup3\n /* \"#utility.yul\":1059:1077 */\n add\n /* \"#utility.yul\":1051:1077 */\n swap1\n pop\n /* \"#utility.yul\":1123:1132 */\n dup2\n /* \"#utility.yul\":1117:1121 */\n dup2\n /* \"#utility.yul\":1113:1133 */\n sub\n /* \"#utility.yul\":1109:1110 */\n 0x00\n /* \"#utility.yul\":1098:1107 */\n dup4\n /* \"#utility.yul\":1094:1111 */\n add\n /* \"#utility.yul\":1087:1134 */\n mstore\n /* \"#utility.yul\":1151:1229 */\n tag_68\n /* \"#utility.yul\":1224:1228 */\n dup2\n /* \"#utility.yul\":1215:1221 */\n dup5\n /* \"#utility.yul\":1151:1229 */\n tag_52\n jump\t// in\n tag_68:\n /* \"#utility.yul\":1143:1229 */\n swap1\n pop\n /* \"#utility.yul\":923:1236 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1242:1390 */\n tag_53:\n /* \"#utility.yul\":1344:1355 */\n 0x00\n /* \"#utility.yul\":1381:1384 */\n dup2\n /* \"#utility.yul\":1366:1384 */\n swap1\n pop\n /* \"#utility.yul\":1242:1390 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1396:1786 */\n tag_54:\n /* \"#utility.yul\":1502:1505 */\n 0x00\n /* \"#utility.yul\":1530:1569 */\n tag_71\n /* \"#utility.yul\":1563:1568 */\n dup3\n /* \"#utility.yul\":1530:1569 */\n tag_48\n jump\t// in\n tag_71:\n /* \"#utility.yul\":1585:1674 */\n tag_72\n /* \"#utility.yul\":1667:1673 */\n dup2\n /* \"#utility.yul\":1662:1665 */\n dup6\n /* \"#utility.yul\":1585:1674 */\n tag_53\n jump\t// in\n tag_72:\n /* \"#utility.yul\":1578:1674 */\n swap4\n pop\n /* \"#utility.yul\":1683:1748 */\n tag_73\n /* \"#utility.yul\":1741:1747 */\n dup2\n /* \"#utility.yul\":1736:1739 */\n dup6\n /* \"#utility.yul\":1729:1733 */\n 0x20\n /* \"#utility.yul\":1722:1727 */\n dup7\n /* \"#utility.yul\":1718:1734 */\n add\n /* \"#utility.yul\":1683:1748 */\n tag_50\n jump\t// in\n tag_73:\n /* \"#utility.yul\":1773:1779 */\n dup1\n /* \"#utility.yul\":1768:1771 */\n dup5\n /* \"#utility.yul\":1764:1780 */\n add\n /* \"#utility.yul\":1757:1780 */\n swap2\n pop\n /* \"#utility.yul\":1506:1786 */\n pop\n /* \"#utility.yul\":1396:1786 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1792:1943 */\n tag_55:\n /* \"#utility.yul\":1932:1935 */\n 0x2e00000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1928:1929 */\n 0x00\n /* \"#utility.yul\":1920:1926 */\n dup3\n /* \"#utility.yul\":1916:1930 */\n add\n /* \"#utility.yul\":1909:1936 */\n mstore\n /* \"#utility.yul\":1792:1943 */\n pop\n jump\t// out\n /* \"#utility.yul\":1949:2349 */\n tag_56:\n /* \"#utility.yul\":2109:2112 */\n 0x00\n /* \"#utility.yul\":2130:2214 */\n tag_76\n /* \"#utility.yul\":2212:2213 */\n 0x01\n /* \"#utility.yul\":2207:2210 */\n dup4\n /* \"#utility.yul\":2130:2214 */\n tag_53\n jump\t// in\n tag_76:\n /* \"#utility.yul\":2123:2214 */\n swap2\n pop\n /* \"#utility.yul\":2223:2316 */\n tag_77\n /* \"#utility.yul\":2312:2315 */\n dup3\n /* \"#utility.yul\":2223:2316 */\n tag_55\n jump\t// in\n tag_77:\n /* \"#utility.yul\":2341:2342 */\n 0x01\n /* \"#utility.yul\":2336:2339 */\n dup3\n /* \"#utility.yul\":2332:2343 */\n add\n /* \"#utility.yul\":2325:2343 */\n swap1\n pop\n /* \"#utility.yul\":1949:2349 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2355:3482 */\n tag_14:\n /* \"#utility.yul\":2785:2788 */\n 0x00\n /* \"#utility.yul\":2807:2902 */\n tag_79\n /* \"#utility.yul\":2898:2901 */\n dup3\n /* \"#utility.yul\":2889:2895 */\n dup7\n /* \"#utility.yul\":2807:2902 */\n tag_54\n jump\t// in\n tag_79:\n /* \"#utility.yul\":2800:2902 */\n swap2\n pop\n /* \"#utility.yul\":2919:3067 */\n tag_80\n /* \"#utility.yul\":3063:3066 */\n dup3\n /* \"#utility.yul\":2919:3067 */\n tag_56\n jump\t// in\n tag_80:\n /* \"#utility.yul\":2912:3067 */\n swap2\n pop\n /* \"#utility.yul\":3084:3179 */\n tag_81\n /* \"#utility.yul\":3175:3178 */\n dup3\n /* \"#utility.yul\":3166:3172 */\n dup6\n /* \"#utility.yul\":3084:3179 */\n tag_54\n jump\t// in\n tag_81:\n /* \"#utility.yul\":3077:3179 */\n swap2\n pop\n /* \"#utility.yul\":3196:3344 */\n tag_82\n /* \"#utility.yul\":3340:3343 */\n dup3\n /* \"#utility.yul\":3196:3344 */\n tag_56\n jump\t// in\n tag_82:\n /* \"#utility.yul\":3189:3344 */\n swap2\n pop\n /* \"#utility.yul\":3361:3456 */\n tag_83\n /* \"#utility.yul\":3452:3455 */\n dup3\n /* \"#utility.yul\":3443:3449 */\n dup5\n /* \"#utility.yul\":3361:3456 */\n tag_54\n jump\t// in\n tag_83:\n /* \"#utility.yul\":3354:3456 */\n swap2\n pop\n /* \"#utility.yul\":3473:3476 */\n dup2\n /* \"#utility.yul\":3466:3476 */\n swap1\n pop\n /* \"#utility.yul\":2355:3482 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3488:3668 */\n tag_20:\n /* \"#utility.yul\":3536:3613 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3533:3534 */\n 0x00\n /* \"#utility.yul\":3526:3614 */\n mstore\n /* \"#utility.yul\":3633:3637 */\n 0x41\n /* \"#utility.yul\":3630:3631 */\n 0x04\n /* \"#utility.yul\":3623:3638 */\n mstore\n /* \"#utility.yul\":3657:3661 */\n 0x24\n /* \"#utility.yul\":3654:3655 */\n 0x00\n /* \"#utility.yul\":3647:3662 */\n revert\n /* \"#utility.yul\":3674:3854 */\n tag_26:\n /* \"#utility.yul\":3722:3799 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3719:3720 */\n 0x00\n /* \"#utility.yul\":3712:3800 */\n mstore\n /* \"#utility.yul\":3819:3823 */\n 0x12\n /* \"#utility.yul\":3816:3817 */\n 0x04\n /* \"#utility.yul\":3809:3824 */\n mstore\n /* \"#utility.yul\":3843:3847 */\n 0x24\n /* \"#utility.yul\":3840:3841 */\n 0x00\n /* \"#utility.yul\":3833:3848 */\n revert\n\n auxdata: 0xa26469706673582212203fe2372ce44fc81b98b7537375f7edcec903044adb64bb54dc60667d6a6fb73964736f6c634300081a0033\n}\n", + "bytecode": { + "functionDebugData": { + "@_2452": { + "entryPoint": null, + "id": 2452, + "parameterSlots": 3, + "returnSlots": 0 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 116, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory": { + "entryPoint": 136, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 85, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 81, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 94, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:1360:13", + "nodeType": "YulBlock", + "src": "0:1360:13", + "statements": [ + { + "body": { + "nativeSrc": "47:35:13", + "nodeType": "YulBlock", + "src": "47:35:13", + "statements": [ + { + "nativeSrc": "57:19:13", + "nodeType": "YulAssignment", + "src": "57:19:13", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:13", + "nodeType": "YulLiteral", + "src": "73:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:13", + "nodeType": "YulIdentifier", + "src": "67:5:13" + }, + "nativeSrc": "67:9:13", + "nodeType": "YulFunctionCall", + "src": "67:9:13" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:13", + "nodeType": "YulIdentifier", + "src": "57:6:13" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:13", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:13", + "nodeType": "YulTypedName", + "src": "40:6:13", + "type": "" + } + ], + "src": "7:75:13" + }, + { + "body": { + "nativeSrc": "177:28:13", + "nodeType": "YulBlock", + "src": "177:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:13", + "nodeType": "YulLiteral", + "src": "194:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:13", + "nodeType": "YulLiteral", + "src": "197:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:13", + "nodeType": "YulIdentifier", + "src": "187:6:13" + }, + "nativeSrc": "187:12:13", + "nodeType": "YulFunctionCall", + "src": "187:12:13" + }, + "nativeSrc": "187:12:13", + "nodeType": "YulExpressionStatement", + "src": "187:12:13" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:13", + "nodeType": "YulFunctionDefinition", + "src": "88:117:13" + }, + { + "body": { + "nativeSrc": "300:28:13", + "nodeType": "YulBlock", + "src": "300:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:13", + "nodeType": "YulLiteral", + "src": "317:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:13", + "nodeType": "YulLiteral", + "src": "320:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:13", + "nodeType": "YulIdentifier", + "src": "310:6:13" + }, + "nativeSrc": "310:12:13", + "nodeType": "YulFunctionCall", + "src": "310:12:13" + }, + "nativeSrc": "310:12:13", + "nodeType": "YulExpressionStatement", + "src": "310:12:13" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:13", + "nodeType": "YulFunctionDefinition", + "src": "211:117:13" + }, + { + "body": { + "nativeSrc": "379:32:13", + "nodeType": "YulBlock", + "src": "379:32:13", + "statements": [ + { + "nativeSrc": "389:16:13", + "nodeType": "YulAssignment", + "src": "389:16:13", + "value": { + "name": "value", + "nativeSrc": "400:5:13", + "nodeType": "YulIdentifier", + "src": "400:5:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:13", + "nodeType": "YulIdentifier", + "src": "389:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "334:77:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:13", + "nodeType": "YulTypedName", + "src": "361:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:13", + "nodeType": "YulTypedName", + "src": "371:7:13", + "type": "" + } + ], + "src": "334:77:13" + }, + { + "body": { + "nativeSrc": "460:79:13", + "nodeType": "YulBlock", + "src": "460:79:13", + "statements": [ + { + "body": { + "nativeSrc": "517:16:13", + "nodeType": "YulBlock", + "src": "517:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "526:1:13", + "nodeType": "YulLiteral", + "src": "526:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "529:1:13", + "nodeType": "YulLiteral", + "src": "529:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "519:6:13", + "nodeType": "YulIdentifier", + "src": "519:6:13" + }, + "nativeSrc": "519:12:13", + "nodeType": "YulFunctionCall", + "src": "519:12:13" + }, + "nativeSrc": "519:12:13", + "nodeType": "YulExpressionStatement", + "src": "519:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "483:5:13", + "nodeType": "YulIdentifier", + "src": "483:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "508:5:13", + "nodeType": "YulIdentifier", + "src": "508:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "490:17:13", + "nodeType": "YulIdentifier", + "src": "490:17:13" + }, + "nativeSrc": "490:24:13", + "nodeType": "YulFunctionCall", + "src": "490:24:13" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "480:2:13", + "nodeType": "YulIdentifier", + "src": "480:2:13" + }, + "nativeSrc": "480:35:13", + "nodeType": "YulFunctionCall", + "src": "480:35:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "473:6:13", + "nodeType": "YulIdentifier", + "src": "473:6:13" + }, + "nativeSrc": "473:43:13", + "nodeType": "YulFunctionCall", + "src": "473:43:13" + }, + "nativeSrc": "470:63:13", + "nodeType": "YulIf", + "src": "470:63:13" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "417:122:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "453:5:13", + "nodeType": "YulTypedName", + "src": "453:5:13", + "type": "" + } + ], + "src": "417:122:13" + }, + { + "body": { + "nativeSrc": "608:80:13", + "nodeType": "YulBlock", + "src": "608:80:13", + "statements": [ + { + "nativeSrc": "618:22:13", + "nodeType": "YulAssignment", + "src": "618:22:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "633:6:13", + "nodeType": "YulIdentifier", + "src": "633:6:13" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "627:5:13", + "nodeType": "YulIdentifier", + "src": "627:5:13" + }, + "nativeSrc": "627:13:13", + "nodeType": "YulFunctionCall", + "src": "627:13:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "618:5:13", + "nodeType": "YulIdentifier", + "src": "618:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "676:5:13", + "nodeType": "YulIdentifier", + "src": "676:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "649:26:13", + "nodeType": "YulIdentifier", + "src": "649:26:13" + }, + "nativeSrc": "649:33:13", + "nodeType": "YulFunctionCall", + "src": "649:33:13" + }, + "nativeSrc": "649:33:13", + "nodeType": "YulExpressionStatement", + "src": "649:33:13" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "545:143:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "586:6:13", + "nodeType": "YulTypedName", + "src": "586:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "594:3:13", + "nodeType": "YulTypedName", + "src": "594:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "602:5:13", + "nodeType": "YulTypedName", + "src": "602:5:13", + "type": "" + } + ], + "src": "545:143:13" + }, + { + "body": { + "nativeSrc": "805:552:13", + "nodeType": "YulBlock", + "src": "805:552:13", + "statements": [ + { + "body": { + "nativeSrc": "851:83:13", + "nodeType": "YulBlock", + "src": "851:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "853:77:13", + "nodeType": "YulIdentifier", + "src": "853:77:13" + }, + "nativeSrc": "853:79:13", + "nodeType": "YulFunctionCall", + "src": "853:79:13" + }, + "nativeSrc": "853:79:13", + "nodeType": "YulExpressionStatement", + "src": "853:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "826:7:13", + "nodeType": "YulIdentifier", + "src": "826:7:13" + }, + { + "name": "headStart", + "nativeSrc": "835:9:13", + "nodeType": "YulIdentifier", + "src": "835:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "822:3:13", + "nodeType": "YulIdentifier", + "src": "822:3:13" + }, + "nativeSrc": "822:23:13", + "nodeType": "YulFunctionCall", + "src": "822:23:13" + }, + { + "kind": "number", + "nativeSrc": "847:2:13", + "nodeType": "YulLiteral", + "src": "847:2:13", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "818:3:13", + "nodeType": "YulIdentifier", + "src": "818:3:13" + }, + "nativeSrc": "818:32:13", + "nodeType": "YulFunctionCall", + "src": "818:32:13" + }, + "nativeSrc": "815:119:13", + "nodeType": "YulIf", + "src": "815:119:13" + }, + { + "nativeSrc": "944:128:13", + "nodeType": "YulBlock", + "src": "944:128:13", + "statements": [ + { + "nativeSrc": "959:15:13", + "nodeType": "YulVariableDeclaration", + "src": "959:15:13", + "value": { + "kind": "number", + "nativeSrc": "973:1:13", + "nodeType": "YulLiteral", + "src": "973:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "963:6:13", + "nodeType": "YulTypedName", + "src": "963:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "988:74:13", + "nodeType": "YulAssignment", + "src": "988:74:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1034:9:13", + "nodeType": "YulIdentifier", + "src": "1034:9:13" + }, + { + "name": "offset", + "nativeSrc": "1045:6:13", + "nodeType": "YulIdentifier", + "src": "1045:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1030:3:13", + "nodeType": "YulIdentifier", + "src": "1030:3:13" + }, + "nativeSrc": "1030:22:13", + "nodeType": "YulFunctionCall", + "src": "1030:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "1054:7:13", + "nodeType": "YulIdentifier", + "src": "1054:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "998:31:13", + "nodeType": "YulIdentifier", + "src": "998:31:13" + }, + "nativeSrc": "998:64:13", + "nodeType": "YulFunctionCall", + "src": "998:64:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "988:6:13", + "nodeType": "YulIdentifier", + "src": "988:6:13" + } + ] + } + ] + }, + { + "nativeSrc": "1082:129:13", + "nodeType": "YulBlock", + "src": "1082:129:13", + "statements": [ + { + "nativeSrc": "1097:16:13", + "nodeType": "YulVariableDeclaration", + "src": "1097:16:13", + "value": { + "kind": "number", + "nativeSrc": "1111:2:13", + "nodeType": "YulLiteral", + "src": "1111:2:13", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1101:6:13", + "nodeType": "YulTypedName", + "src": "1101:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "1127:74:13", + "nodeType": "YulAssignment", + "src": "1127:74:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1173:9:13", + "nodeType": "YulIdentifier", + "src": "1173:9:13" + }, + { + "name": "offset", + "nativeSrc": "1184:6:13", + "nodeType": "YulIdentifier", + "src": "1184:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1169:3:13", + "nodeType": "YulIdentifier", + "src": "1169:3:13" + }, + "nativeSrc": "1169:22:13", + "nodeType": "YulFunctionCall", + "src": "1169:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "1193:7:13", + "nodeType": "YulIdentifier", + "src": "1193:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "1137:31:13", + "nodeType": "YulIdentifier", + "src": "1137:31:13" + }, + "nativeSrc": "1137:64:13", + "nodeType": "YulFunctionCall", + "src": "1137:64:13" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "1127:6:13", + "nodeType": "YulIdentifier", + "src": "1127:6:13" + } + ] + } + ] + }, + { + "nativeSrc": "1221:129:13", + "nodeType": "YulBlock", + "src": "1221:129:13", + "statements": [ + { + "nativeSrc": "1236:16:13", + "nodeType": "YulVariableDeclaration", + "src": "1236:16:13", + "value": { + "kind": "number", + "nativeSrc": "1250:2:13", + "nodeType": "YulLiteral", + "src": "1250:2:13", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1240:6:13", + "nodeType": "YulTypedName", + "src": "1240:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "1266:74:13", + "nodeType": "YulAssignment", + "src": "1266:74:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1312:9:13", + "nodeType": "YulIdentifier", + "src": "1312:9:13" + }, + { + "name": "offset", + "nativeSrc": "1323:6:13", + "nodeType": "YulIdentifier", + "src": "1323:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1308:3:13", + "nodeType": "YulIdentifier", + "src": "1308:3:13" + }, + "nativeSrc": "1308:22:13", + "nodeType": "YulFunctionCall", + "src": "1308:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "1332:7:13", + "nodeType": "YulIdentifier", + "src": "1332:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "1276:31:13", + "nodeType": "YulIdentifier", + "src": "1276:31:13" + }, + "nativeSrc": "1276:64:13", + "nodeType": "YulFunctionCall", + "src": "1276:64:13" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "1266:6:13", + "nodeType": "YulIdentifier", + "src": "1266:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory", + "nativeSrc": "694:663:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "759:9:13", + "nodeType": "YulTypedName", + "src": "759:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "770:7:13", + "nodeType": "YulTypedName", + "src": "770:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "782:6:13", + "nodeType": "YulTypedName", + "src": "782:6:13", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "790:6:13", + "nodeType": "YulTypedName", + "src": "790:6:13", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "798:6:13", + "nodeType": "YulTypedName", + "src": "798:6:13", + "type": "" + } + ], + "src": "694:663:13" + } + ] + }, + "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_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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory(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_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", + "id": 13, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60e060405234801561000f575f80fd5b506040516105f23803806105f283398181016040528101906100319190610088565b82608081815250508160a081815250508060c081815250505050506100d8565b5f80fd5b5f819050919050565b61006781610055565b8114610071575f80fd5b50565b5f815190506100828161005e565b92915050565b5f805f6060848603121561009f5761009e610051565b5b5f6100ac86828701610074565b93505060206100bd86828701610074565b92505060406100ce86828701610074565b9150509250925092565b60805160a05160c0516104f36100ff5f395f60a401525f607b01525f605201526104f35ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c806354fd4d501461002d575b5f80fd5b61003561004b565b6040516100429190610379565b60405180910390f35b60606100767f00000000000000000000000000000000000000000000000000000000000000006100ee565b61009f7f00000000000000000000000000000000000000000000000000000000000000006100ee565b6100c87f00000000000000000000000000000000000000000000000000000000000000006100ee565b6040516020016100da9392919061041d565b604051602081830303815290604052905090565b60605f60016100fc846101b8565b0190505f8167ffffffffffffffff81111561011a57610119610463565b5b6040519080825280601f01601f19166020018201604052801561014c5781602001600182028036833780820191505090505b5090505f82602001820190505b6001156101ad578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816101a2576101a1610490565b5b0494505f8503610159575b819350505050919050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610214577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161020a57610209610490565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610251576d04ee2d6d415b85acef8100000000838161024757610246610490565b5b0492506020810190505b662386f26fc10000831061028057662386f26fc10000838161027657610275610490565b5b0492506010810190505b6305f5e10083106102a9576305f5e100838161029f5761029e610490565b5b0492506008810190505b61271083106102ce5761271083816102c4576102c3610490565b5b0492506004810190505b606483106102f157606483816102e7576102e6610490565b5b0492506002810190505b600a8310610300576001810190505b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61034b82610309565b6103558185610313565b9350610365818560208601610323565b61036e81610331565b840191505092915050565b5f6020820190508181035f8301526103918184610341565b905092915050565b5f81905092915050565b5f6103ad82610309565b6103b78185610399565b93506103c7818560208601610323565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610407600183610399565b9150610412826103d3565b600182019050919050565b5f61042882866103a3565b9150610433826103fb565b915061043f82856103a3565b915061044a826103fb565b915061045682846103a3565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea26469706673582212203fe2372ce44fc81b98b7537375f7edcec903044adb64bb54dc60667d6a6fb73964736f6c634300081a0033", + "opcodes": "PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x5F2 CODESIZE SUB DUP1 PUSH2 0x5F2 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x31 SWAP2 SWAP1 PUSH2 0x88 JUMP JUMPDEST DUP3 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP2 PUSH1 0xA0 DUP2 DUP2 MSTORE POP POP DUP1 PUSH1 0xC0 DUP2 DUP2 MSTORE POP POP POP POP POP PUSH2 0xD8 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x67 DUP2 PUSH2 0x55 JUMP JUMPDEST DUP2 EQ PUSH2 0x71 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x82 DUP2 PUSH2 0x5E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x9F JUMPI PUSH2 0x9E PUSH2 0x51 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xAC DUP7 DUP3 DUP8 ADD PUSH2 0x74 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xBD DUP7 DUP3 DUP8 ADD PUSH2 0x74 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xCE DUP7 DUP3 DUP8 ADD PUSH2 0x74 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0x4F3 PUSH2 0xFF PUSH0 CODECOPY PUSH0 PUSH1 0xA4 ADD MSTORE PUSH0 PUSH1 0x7B ADD MSTORE PUSH0 PUSH1 0x52 ADD MSTORE PUSH2 0x4F3 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42 SWAP2 SWAP1 PUSH2 0x379 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH2 0x76 PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH2 0x9F PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH2 0xC8 PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xDA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0xFC DUP5 PUSH2 0x1B8 JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11A JUMPI PUSH2 0x119 PUSH2 0x463 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x14C JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x1AD JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x1A2 JUMPI PUSH2 0x1A1 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x159 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x214 JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x20A JUMPI PUSH2 0x209 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x251 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x247 JUMPI PUSH2 0x246 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x280 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x276 JUMPI PUSH2 0x275 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x2A9 JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x29F JUMPI PUSH2 0x29E PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x2CE JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x2C4 JUMPI PUSH2 0x2C3 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x2F1 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x2E7 JUMPI PUSH2 0x2E6 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x300 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x34B DUP3 PUSH2 0x309 JUMP JUMPDEST PUSH2 0x355 DUP2 DUP6 PUSH2 0x313 JUMP JUMPDEST SWAP4 POP PUSH2 0x365 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x323 JUMP JUMPDEST PUSH2 0x36E DUP2 PUSH2 0x331 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x391 DUP2 DUP5 PUSH2 0x341 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x3AD DUP3 PUSH2 0x309 JUMP JUMPDEST PUSH2 0x3B7 DUP2 DUP6 PUSH2 0x399 JUMP JUMPDEST SWAP4 POP PUSH2 0x3C7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x323 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x407 PUSH1 0x1 DUP4 PUSH2 0x399 JUMP JUMPDEST SWAP2 POP PUSH2 0x412 DUP3 PUSH2 0x3D3 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x428 DUP3 DUP7 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP PUSH2 0x433 DUP3 PUSH2 0x3FB JUMP JUMPDEST SWAP2 POP PUSH2 0x43F DUP3 DUP6 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP PUSH2 0x44A DUP3 PUSH2 0x3FB JUMP JUMPDEST SWAP2 POP PUSH2 0x456 DUP3 DUP5 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODEHASH 0xE2 CALLDATACOPY 0x2C 0xE4 0x4F 0xC8 SHL SWAP9 0xB7 MSTORE8 PUSH20 0x75F7EDCEC903044ADB64BB54DC60667D6A6FB739 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", + "sourceMap": "250:932:11:-:0;;;692:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;768:5;759:14;;;;;;792:5;783:14;;;;;;816:5;807:14;;;;;;692:136;;;250:932;;88:117:13;197:1;194;187: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:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:663::-;782:6;790;798;847:2;835:9;826:7;822:23;818:32;815:119;;;853:79;;:::i;:::-;815:119;973:1;998:64;1054:7;1045:6;1034:9;1030:22;998:64;:::i;:::-;988:74;;944:128;1111:2;1137:64;1193:7;1184:6;1173:9;1169:22;1137:64;:::i;:::-;1127:74;;1082:129;1250:2;1276:64;1332:7;1323:6;1312:9;1308:22;1276:64;:::i;:::-;1266:74;;1221:129;694:663;;;;;:::o;250:932:11:-;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@log10_1306": { + "entryPoint": 440, + "id": 1306, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@toString_245": { + "entryPoint": 238, + "id": 245, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@version_2480": { + "entryPoint": 75, + "id": 2480, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 833, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 931, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 1019, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 1053, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 889, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 777, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 787, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 921, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 803, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "panic_error_0x12": { + "entryPoint": 1168, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 1123, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 817, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf": { + "entryPoint": 979, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:3857:13", + "nodeType": "YulBlock", + "src": "0:3857:13", + "statements": [ + { + "body": { + "nativeSrc": "66:40:13", + "nodeType": "YulBlock", + "src": "66:40:13", + "statements": [ + { + "nativeSrc": "77:22:13", + "nodeType": "YulAssignment", + "src": "77:22:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "93:5:13", + "nodeType": "YulIdentifier", + "src": "93:5:13" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "87:5:13", + "nodeType": "YulIdentifier", + "src": "87:5:13" + }, + "nativeSrc": "87:12:13", + "nodeType": "YulFunctionCall", + "src": "87:12:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "77:6:13", + "nodeType": "YulIdentifier", + "src": "77:6:13" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "7:99:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "49:5:13", + "nodeType": "YulTypedName", + "src": "49:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "59:6:13", + "nodeType": "YulTypedName", + "src": "59:6:13", + "type": "" + } + ], + "src": "7:99:13" + }, + { + "body": { + "nativeSrc": "208:73:13", + "nodeType": "YulBlock", + "src": "208:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "225:3:13", + "nodeType": "YulIdentifier", + "src": "225:3:13" + }, + { + "name": "length", + "nativeSrc": "230:6:13", + "nodeType": "YulIdentifier", + "src": "230:6:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "218:6:13", + "nodeType": "YulIdentifier", + "src": "218:6:13" + }, + "nativeSrc": "218:19:13", + "nodeType": "YulFunctionCall", + "src": "218:19:13" + }, + "nativeSrc": "218:19:13", + "nodeType": "YulExpressionStatement", + "src": "218:19:13" + }, + { + "nativeSrc": "246:29:13", + "nodeType": "YulAssignment", + "src": "246:29:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "265:3:13", + "nodeType": "YulIdentifier", + "src": "265:3:13" + }, + { + "kind": "number", + "nativeSrc": "270:4:13", + "nodeType": "YulLiteral", + "src": "270:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "261:3:13", + "nodeType": "YulIdentifier", + "src": "261:3:13" + }, + "nativeSrc": "261:14:13", + "nodeType": "YulFunctionCall", + "src": "261:14:13" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "246:11:13", + "nodeType": "YulIdentifier", + "src": "246:11:13" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "112:169:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "180:3:13", + "nodeType": "YulTypedName", + "src": "180:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "185:6:13", + "nodeType": "YulTypedName", + "src": "185:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "196:11:13", + "nodeType": "YulTypedName", + "src": "196:11:13", + "type": "" + } + ], + "src": "112:169:13" + }, + { + "body": { + "nativeSrc": "349:77:13", + "nodeType": "YulBlock", + "src": "349:77:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "366:3:13", + "nodeType": "YulIdentifier", + "src": "366:3:13" + }, + { + "name": "src", + "nativeSrc": "371:3:13", + "nodeType": "YulIdentifier", + "src": "371:3:13" + }, + { + "name": "length", + "nativeSrc": "376:6:13", + "nodeType": "YulIdentifier", + "src": "376:6:13" + } + ], + "functionName": { + "name": "mcopy", + "nativeSrc": "360:5:13", + "nodeType": "YulIdentifier", + "src": "360:5:13" + }, + "nativeSrc": "360:23:13", + "nodeType": "YulFunctionCall", + "src": "360:23:13" + }, + "nativeSrc": "360:23:13", + "nodeType": "YulExpressionStatement", + "src": "360:23:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "403:3:13", + "nodeType": "YulIdentifier", + "src": "403:3:13" + }, + { + "name": "length", + "nativeSrc": "408:6:13", + "nodeType": "YulIdentifier", + "src": "408:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "399:3:13", + "nodeType": "YulIdentifier", + "src": "399:3:13" + }, + "nativeSrc": "399:16:13", + "nodeType": "YulFunctionCall", + "src": "399:16:13" + }, + { + "kind": "number", + "nativeSrc": "417:1:13", + "nodeType": "YulLiteral", + "src": "417:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "392:6:13", + "nodeType": "YulIdentifier", + "src": "392:6:13" + }, + "nativeSrc": "392:27:13", + "nodeType": "YulFunctionCall", + "src": "392:27:13" + }, + "nativeSrc": "392:27:13", + "nodeType": "YulExpressionStatement", + "src": "392:27:13" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "287:139:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "331:3:13", + "nodeType": "YulTypedName", + "src": "331:3:13", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "336:3:13", + "nodeType": "YulTypedName", + "src": "336:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "341:6:13", + "nodeType": "YulTypedName", + "src": "341:6:13", + "type": "" + } + ], + "src": "287:139:13" + }, + { + "body": { + "nativeSrc": "480:54:13", + "nodeType": "YulBlock", + "src": "480:54:13", + "statements": [ + { + "nativeSrc": "490:38:13", + "nodeType": "YulAssignment", + "src": "490:38:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "508:5:13", + "nodeType": "YulIdentifier", + "src": "508:5:13" + }, + { + "kind": "number", + "nativeSrc": "515:2:13", + "nodeType": "YulLiteral", + "src": "515:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "504:3:13", + "nodeType": "YulIdentifier", + "src": "504:3:13" + }, + "nativeSrc": "504:14:13", + "nodeType": "YulFunctionCall", + "src": "504:14:13" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "524:2:13", + "nodeType": "YulLiteral", + "src": "524:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "520:3:13", + "nodeType": "YulIdentifier", + "src": "520:3:13" + }, + "nativeSrc": "520:7:13", + "nodeType": "YulFunctionCall", + "src": "520:7:13" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "500:3:13", + "nodeType": "YulIdentifier", + "src": "500:3:13" + }, + "nativeSrc": "500:28:13", + "nodeType": "YulFunctionCall", + "src": "500:28:13" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "490:6:13", + "nodeType": "YulIdentifier", + "src": "490:6:13" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "432:102:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "463:5:13", + "nodeType": "YulTypedName", + "src": "463:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "473:6:13", + "nodeType": "YulTypedName", + "src": "473:6:13", + "type": "" + } + ], + "src": "432:102:13" + }, + { + "body": { + "nativeSrc": "632:285:13", + "nodeType": "YulBlock", + "src": "632:285:13", + "statements": [ + { + "nativeSrc": "642:53:13", + "nodeType": "YulVariableDeclaration", + "src": "642:53:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "689:5:13", + "nodeType": "YulIdentifier", + "src": "689:5:13" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "656:32:13", + "nodeType": "YulIdentifier", + "src": "656:32:13" + }, + "nativeSrc": "656:39:13", + "nodeType": "YulFunctionCall", + "src": "656:39:13" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "646:6:13", + "nodeType": "YulTypedName", + "src": "646:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "704:78:13", + "nodeType": "YulAssignment", + "src": "704:78:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "770:3:13", + "nodeType": "YulIdentifier", + "src": "770:3:13" + }, + { + "name": "length", + "nativeSrc": "775:6:13", + "nodeType": "YulIdentifier", + "src": "775:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "711:58:13", + "nodeType": "YulIdentifier", + "src": "711:58:13" + }, + "nativeSrc": "711:71:13", + "nodeType": "YulFunctionCall", + "src": "711:71:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "704:3:13", + "nodeType": "YulIdentifier", + "src": "704:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "830:5:13", + "nodeType": "YulIdentifier", + "src": "830:5:13" + }, + { + "kind": "number", + "nativeSrc": "837:4:13", + "nodeType": "YulLiteral", + "src": "837:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "826:3:13", + "nodeType": "YulIdentifier", + "src": "826:3:13" + }, + "nativeSrc": "826:16:13", + "nodeType": "YulFunctionCall", + "src": "826:16:13" + }, + { + "name": "pos", + "nativeSrc": "844:3:13", + "nodeType": "YulIdentifier", + "src": "844:3:13" + }, + { + "name": "length", + "nativeSrc": "849:6:13", + "nodeType": "YulIdentifier", + "src": "849:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "791:34:13", + "nodeType": "YulIdentifier", + "src": "791:34:13" + }, + "nativeSrc": "791:65:13", + "nodeType": "YulFunctionCall", + "src": "791:65:13" + }, + "nativeSrc": "791:65:13", + "nodeType": "YulExpressionStatement", + "src": "791:65:13" + }, + { + "nativeSrc": "865:46:13", + "nodeType": "YulAssignment", + "src": "865:46:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "876:3:13", + "nodeType": "YulIdentifier", + "src": "876:3:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "903:6:13", + "nodeType": "YulIdentifier", + "src": "903:6:13" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "881:21:13", + "nodeType": "YulIdentifier", + "src": "881:21:13" + }, + "nativeSrc": "881:29:13", + "nodeType": "YulFunctionCall", + "src": "881:29:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "872:3:13", + "nodeType": "YulIdentifier", + "src": "872:3:13" + }, + "nativeSrc": "872:39:13", + "nodeType": "YulFunctionCall", + "src": "872:39:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "865:3:13", + "nodeType": "YulIdentifier", + "src": "865:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "540:377:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "613:5:13", + "nodeType": "YulTypedName", + "src": "613:5:13", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "620:3:13", + "nodeType": "YulTypedName", + "src": "620:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "628:3:13", + "nodeType": "YulTypedName", + "src": "628:3:13", + "type": "" + } + ], + "src": "540:377:13" + }, + { + "body": { + "nativeSrc": "1041:195:13", + "nodeType": "YulBlock", + "src": "1041:195:13", + "statements": [ + { + "nativeSrc": "1051:26:13", + "nodeType": "YulAssignment", + "src": "1051:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1063:9:13", + "nodeType": "YulIdentifier", + "src": "1063:9:13" + }, + { + "kind": "number", + "nativeSrc": "1074:2:13", + "nodeType": "YulLiteral", + "src": "1074:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1059:3:13", + "nodeType": "YulIdentifier", + "src": "1059:3:13" + }, + "nativeSrc": "1059:18:13", + "nodeType": "YulFunctionCall", + "src": "1059:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1051:4:13", + "nodeType": "YulIdentifier", + "src": "1051:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1098:9:13", + "nodeType": "YulIdentifier", + "src": "1098:9:13" + }, + { + "kind": "number", + "nativeSrc": "1109:1:13", + "nodeType": "YulLiteral", + "src": "1109:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1094:3:13", + "nodeType": "YulIdentifier", + "src": "1094:3:13" + }, + "nativeSrc": "1094:17:13", + "nodeType": "YulFunctionCall", + "src": "1094:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "1117:4:13", + "nodeType": "YulIdentifier", + "src": "1117:4:13" + }, + { + "name": "headStart", + "nativeSrc": "1123:9:13", + "nodeType": "YulIdentifier", + "src": "1123:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1113:3:13", + "nodeType": "YulIdentifier", + "src": "1113:3:13" + }, + "nativeSrc": "1113:20:13", + "nodeType": "YulFunctionCall", + "src": "1113:20:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1087:6:13", + "nodeType": "YulIdentifier", + "src": "1087:6:13" + }, + "nativeSrc": "1087:47:13", + "nodeType": "YulFunctionCall", + "src": "1087:47:13" + }, + "nativeSrc": "1087:47:13", + "nodeType": "YulExpressionStatement", + "src": "1087:47:13" + }, + { + "nativeSrc": "1143:86:13", + "nodeType": "YulAssignment", + "src": "1143:86:13", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1215:6:13", + "nodeType": "YulIdentifier", + "src": "1215:6:13" + }, + { + "name": "tail", + "nativeSrc": "1224:4:13", + "nodeType": "YulIdentifier", + "src": "1224:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "1151:63:13", + "nodeType": "YulIdentifier", + "src": "1151:63:13" + }, + "nativeSrc": "1151:78:13", + "nodeType": "YulFunctionCall", + "src": "1151:78:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1143:4:13", + "nodeType": "YulIdentifier", + "src": "1143:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "923:313:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1013:9:13", + "nodeType": "YulTypedName", + "src": "1013:9:13", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1025:6:13", + "nodeType": "YulTypedName", + "src": "1025:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1036:4:13", + "nodeType": "YulTypedName", + "src": "1036:4:13", + "type": "" + } + ], + "src": "923:313:13" + }, + { + "body": { + "nativeSrc": "1356:34:13", + "nodeType": "YulBlock", + "src": "1356:34:13", + "statements": [ + { + "nativeSrc": "1366:18:13", + "nodeType": "YulAssignment", + "src": "1366:18:13", + "value": { + "name": "pos", + "nativeSrc": "1381:3:13", + "nodeType": "YulIdentifier", + "src": "1381:3:13" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "1366:11:13", + "nodeType": "YulIdentifier", + "src": "1366:11:13" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "1242:148:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "1328:3:13", + "nodeType": "YulTypedName", + "src": "1328:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1333:6:13", + "nodeType": "YulTypedName", + "src": "1333:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "1344:11:13", + "nodeType": "YulTypedName", + "src": "1344:11:13", + "type": "" + } + ], + "src": "1242:148:13" + }, + { + "body": { + "nativeSrc": "1506:280:13", + "nodeType": "YulBlock", + "src": "1506:280:13", + "statements": [ + { + "nativeSrc": "1516:53:13", + "nodeType": "YulVariableDeclaration", + "src": "1516:53:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1563:5:13", + "nodeType": "YulIdentifier", + "src": "1563:5:13" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "1530:32:13", + "nodeType": "YulIdentifier", + "src": "1530:32:13" + }, + "nativeSrc": "1530:39:13", + "nodeType": "YulFunctionCall", + "src": "1530:39:13" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "1520:6:13", + "nodeType": "YulTypedName", + "src": "1520:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "1578:96:13", + "nodeType": "YulAssignment", + "src": "1578:96:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1662:3:13", + "nodeType": "YulIdentifier", + "src": "1662:3:13" + }, + { + "name": "length", + "nativeSrc": "1667:6:13", + "nodeType": "YulIdentifier", + "src": "1667:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "1585:76:13", + "nodeType": "YulIdentifier", + "src": "1585:76:13" + }, + "nativeSrc": "1585:89:13", + "nodeType": "YulFunctionCall", + "src": "1585:89:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "1578:3:13", + "nodeType": "YulIdentifier", + "src": "1578:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1722:5:13", + "nodeType": "YulIdentifier", + "src": "1722:5:13" + }, + { + "kind": "number", + "nativeSrc": "1729:4:13", + "nodeType": "YulLiteral", + "src": "1729:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1718:3:13", + "nodeType": "YulIdentifier", + "src": "1718:3:13" + }, + "nativeSrc": "1718:16:13", + "nodeType": "YulFunctionCall", + "src": "1718:16:13" + }, + { + "name": "pos", + "nativeSrc": "1736:3:13", + "nodeType": "YulIdentifier", + "src": "1736:3:13" + }, + { + "name": "length", + "nativeSrc": "1741:6:13", + "nodeType": "YulIdentifier", + "src": "1741:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1683:34:13", + "nodeType": "YulIdentifier", + "src": "1683:34:13" + }, + "nativeSrc": "1683:65:13", + "nodeType": "YulFunctionCall", + "src": "1683:65:13" + }, + "nativeSrc": "1683:65:13", + "nodeType": "YulExpressionStatement", + "src": "1683:65:13" + }, + { + "nativeSrc": "1757:23:13", + "nodeType": "YulAssignment", + "src": "1757:23:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1768:3:13", + "nodeType": "YulIdentifier", + "src": "1768:3:13" + }, + { + "name": "length", + "nativeSrc": "1773:6:13", + "nodeType": "YulIdentifier", + "src": "1773:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1764:3:13", + "nodeType": "YulIdentifier", + "src": "1764:3:13" + }, + "nativeSrc": "1764:16:13", + "nodeType": "YulFunctionCall", + "src": "1764:16:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "1757:3:13", + "nodeType": "YulIdentifier", + "src": "1757:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "1396:390:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1487:5:13", + "nodeType": "YulTypedName", + "src": "1487:5:13", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1494:3:13", + "nodeType": "YulTypedName", + "src": "1494:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "1502:3:13", + "nodeType": "YulTypedName", + "src": "1502:3:13", + "type": "" + } + ], + "src": "1396:390:13" + }, + { + "body": { + "nativeSrc": "1898:45:13", + "nodeType": "YulBlock", + "src": "1898:45:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1920:6:13", + "nodeType": "YulIdentifier", + "src": "1920:6:13" + }, + { + "kind": "number", + "nativeSrc": "1928:1:13", + "nodeType": "YulLiteral", + "src": "1928:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1916:3:13", + "nodeType": "YulIdentifier", + "src": "1916:3:13" + }, + "nativeSrc": "1916:14:13", + "nodeType": "YulFunctionCall", + "src": "1916:14:13" + }, + { + "hexValue": "2e", + "kind": "string", + "nativeSrc": "1932:3:13", + "nodeType": "YulLiteral", + "src": "1932:3:13", + "type": "", + "value": "." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1909:6:13", + "nodeType": "YulIdentifier", + "src": "1909:6:13" + }, + "nativeSrc": "1909:27:13", + "nodeType": "YulFunctionCall", + "src": "1909:27:13" + }, + "nativeSrc": "1909:27:13", + "nodeType": "YulExpressionStatement", + "src": "1909:27:13" + } + ] + }, + "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "nativeSrc": "1792:151:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "1890:6:13", + "nodeType": "YulTypedName", + "src": "1890:6:13", + "type": "" + } + ], + "src": "1792:151:13" + }, + { + "body": { + "nativeSrc": "2113:236:13", + "nodeType": "YulBlock", + "src": "2113:236:13", + "statements": [ + { + "nativeSrc": "2123:91:13", + "nodeType": "YulAssignment", + "src": "2123:91:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2207:3:13", + "nodeType": "YulIdentifier", + "src": "2207:3:13" + }, + { + "kind": "number", + "nativeSrc": "2212:1:13", + "nodeType": "YulLiteral", + "src": "2212:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "2130:76:13", + "nodeType": "YulIdentifier", + "src": "2130:76:13" + }, + "nativeSrc": "2130:84:13", + "nodeType": "YulFunctionCall", + "src": "2130:84:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2123:3:13", + "nodeType": "YulIdentifier", + "src": "2123:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2312:3:13", + "nodeType": "YulIdentifier", + "src": "2312:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "nativeSrc": "2223:88:13", + "nodeType": "YulIdentifier", + "src": "2223:88:13" + }, + "nativeSrc": "2223:93:13", + "nodeType": "YulFunctionCall", + "src": "2223:93:13" + }, + "nativeSrc": "2223:93:13", + "nodeType": "YulExpressionStatement", + "src": "2223:93:13" + }, + { + "nativeSrc": "2325:18:13", + "nodeType": "YulAssignment", + "src": "2325:18:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2336:3:13", + "nodeType": "YulIdentifier", + "src": "2336:3:13" + }, + { + "kind": "number", + "nativeSrc": "2341:1:13", + "nodeType": "YulLiteral", + "src": "2341:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2332:3:13", + "nodeType": "YulIdentifier", + "src": "2332:3:13" + }, + "nativeSrc": "2332:11:13", + "nodeType": "YulFunctionCall", + "src": "2332:11:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "2325:3:13", + "nodeType": "YulIdentifier", + "src": "2325:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "1949:400:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "2101:3:13", + "nodeType": "YulTypedName", + "src": "2101:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2109:3:13", + "nodeType": "YulTypedName", + "src": "2109:3:13", + "type": "" + } + ], + "src": "1949:400:13" + }, + { + "body": { + "nativeSrc": "2789:693:13", + "nodeType": "YulBlock", + "src": "2789:693:13", + "statements": [ + { + "nativeSrc": "2800:102:13", + "nodeType": "YulAssignment", + "src": "2800:102:13", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "2889:6:13", + "nodeType": "YulIdentifier", + "src": "2889:6:13" + }, + { + "name": "pos", + "nativeSrc": "2898:3:13", + "nodeType": "YulIdentifier", + "src": "2898:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "2807:81:13", + "nodeType": "YulIdentifier", + "src": "2807:81:13" + }, + "nativeSrc": "2807:95:13", + "nodeType": "YulFunctionCall", + "src": "2807:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2800:3:13", + "nodeType": "YulIdentifier", + "src": "2800:3:13" + } + ] + }, + { + "nativeSrc": "2912:155:13", + "nodeType": "YulAssignment", + "src": "2912:155:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3063:3:13", + "nodeType": "YulIdentifier", + "src": "3063:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "2919:142:13", + "nodeType": "YulIdentifier", + "src": "2919:142:13" + }, + "nativeSrc": "2919:148:13", + "nodeType": "YulFunctionCall", + "src": "2919:148:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "2912:3:13", + "nodeType": "YulIdentifier", + "src": "2912:3:13" + } + ] + }, + { + "nativeSrc": "3077:102:13", + "nodeType": "YulAssignment", + "src": "3077:102:13", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "3166:6:13", + "nodeType": "YulIdentifier", + "src": "3166:6:13" + }, + { + "name": "pos", + "nativeSrc": "3175:3:13", + "nodeType": "YulIdentifier", + "src": "3175:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "3084:81:13", + "nodeType": "YulIdentifier", + "src": "3084:81:13" + }, + "nativeSrc": "3084:95:13", + "nodeType": "YulFunctionCall", + "src": "3084:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "3077:3:13", + "nodeType": "YulIdentifier", + "src": "3077:3:13" + } + ] + }, + { + "nativeSrc": "3189:155:13", + "nodeType": "YulAssignment", + "src": "3189:155:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3340:3:13", + "nodeType": "YulIdentifier", + "src": "3340:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "3196:142:13", + "nodeType": "YulIdentifier", + "src": "3196:142:13" + }, + "nativeSrc": "3196:148:13", + "nodeType": "YulFunctionCall", + "src": "3196:148:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "3189:3:13", + "nodeType": "YulIdentifier", + "src": "3189:3:13" + } + ] + }, + { + "nativeSrc": "3354:102:13", + "nodeType": "YulAssignment", + "src": "3354:102:13", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "3443:6:13", + "nodeType": "YulIdentifier", + "src": "3443:6:13" + }, + { + "name": "pos", + "nativeSrc": "3452:3:13", + "nodeType": "YulIdentifier", + "src": "3452:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "3361:81:13", + "nodeType": "YulIdentifier", + "src": "3361:81:13" + }, + "nativeSrc": "3361:95:13", + "nodeType": "YulFunctionCall", + "src": "3361:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "3354:3:13", + "nodeType": "YulIdentifier", + "src": "3354:3:13" + } + ] + }, + { + "nativeSrc": "3466:10:13", + "nodeType": "YulAssignment", + "src": "3466:10:13", + "value": { + "name": "pos", + "nativeSrc": "3473:3:13", + "nodeType": "YulIdentifier", + "src": "3473:3:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "3466:3:13", + "nodeType": "YulIdentifier", + "src": "3466:3:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "2355:1127:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "2752:3:13", + "nodeType": "YulTypedName", + "src": "2752:3:13", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "2758:6:13", + "nodeType": "YulTypedName", + "src": "2758:6:13", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "2766:6:13", + "nodeType": "YulTypedName", + "src": "2766:6:13", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "2774:6:13", + "nodeType": "YulTypedName", + "src": "2774:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2785:3:13", + "nodeType": "YulTypedName", + "src": "2785:3:13", + "type": "" + } + ], + "src": "2355:1127:13" + }, + { + "body": { + "nativeSrc": "3516:152:13", + "nodeType": "YulBlock", + "src": "3516:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3533:1:13", + "nodeType": "YulLiteral", + "src": "3533:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3536:77:13", + "nodeType": "YulLiteral", + "src": "3536:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3526:6:13", + "nodeType": "YulIdentifier", + "src": "3526:6:13" + }, + "nativeSrc": "3526:88:13", + "nodeType": "YulFunctionCall", + "src": "3526:88:13" + }, + "nativeSrc": "3526:88:13", + "nodeType": "YulExpressionStatement", + "src": "3526:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3630:1:13", + "nodeType": "YulLiteral", + "src": "3630:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "3633:4:13", + "nodeType": "YulLiteral", + "src": "3633:4:13", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3623:6:13", + "nodeType": "YulIdentifier", + "src": "3623:6:13" + }, + "nativeSrc": "3623:15:13", + "nodeType": "YulFunctionCall", + "src": "3623:15:13" + }, + "nativeSrc": "3623:15:13", + "nodeType": "YulExpressionStatement", + "src": "3623:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3654:1:13", + "nodeType": "YulLiteral", + "src": "3654:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3657:4:13", + "nodeType": "YulLiteral", + "src": "3657:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3647:6:13", + "nodeType": "YulIdentifier", + "src": "3647:6:13" + }, + "nativeSrc": "3647:15:13", + "nodeType": "YulFunctionCall", + "src": "3647:15:13" + }, + "nativeSrc": "3647:15:13", + "nodeType": "YulExpressionStatement", + "src": "3647:15:13" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "3488:180:13", + "nodeType": "YulFunctionDefinition", + "src": "3488:180:13" + }, + { + "body": { + "nativeSrc": "3702:152:13", + "nodeType": "YulBlock", + "src": "3702:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3719:1:13", + "nodeType": "YulLiteral", + "src": "3719:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3722:77:13", + "nodeType": "YulLiteral", + "src": "3722:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3712:6:13", + "nodeType": "YulIdentifier", + "src": "3712:6:13" + }, + "nativeSrc": "3712:88:13", + "nodeType": "YulFunctionCall", + "src": "3712:88:13" + }, + "nativeSrc": "3712:88:13", + "nodeType": "YulExpressionStatement", + "src": "3712:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3816:1:13", + "nodeType": "YulLiteral", + "src": "3816:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "3819:4:13", + "nodeType": "YulLiteral", + "src": "3819:4:13", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3809:6:13", + "nodeType": "YulIdentifier", + "src": "3809:6:13" + }, + "nativeSrc": "3809:15:13", + "nodeType": "YulFunctionCall", + "src": "3809:15:13" + }, + "nativeSrc": "3809:15:13", + "nodeType": "YulExpressionStatement", + "src": "3809:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3840:1:13", + "nodeType": "YulLiteral", + "src": "3840:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3843:4:13", + "nodeType": "YulLiteral", + "src": "3843:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3833:6:13", + "nodeType": "YulIdentifier", + "src": "3833:6:13" + }, + "nativeSrc": "3833:15:13", + "nodeType": "YulFunctionCall", + "src": "3833:15:13" + }, + "nativeSrc": "3833:15:13", + "nodeType": "YulExpressionStatement", + "src": "3833:15:13" + } + ] + }, + "name": "panic_error_0x12", + "nativeSrc": "3674:180:13", + "nodeType": "YulFunctionDefinition", + "src": "3674:180:13" + } + ] + }, + "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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 copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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 store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(memPtr) {\n\n mstore(add(memPtr, 0), \".\")\n\n }\n\n function abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(pos)\n end := add(pos, 1)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n}\n", + "id": 13, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "2425": [ + { + "length": 32, + "start": 82 + } + ], + "2427": [ + { + "length": 32, + "start": 123 + } + ], + "2429": [ + { + "length": 32, + "start": 164 + } + ] + }, + "linkReferences": {}, + "object": "608060405234801561000f575f80fd5b5060043610610029575f3560e01c806354fd4d501461002d575b5f80fd5b61003561004b565b6040516100429190610379565b60405180910390f35b60606100767f00000000000000000000000000000000000000000000000000000000000000006100ee565b61009f7f00000000000000000000000000000000000000000000000000000000000000006100ee565b6100c87f00000000000000000000000000000000000000000000000000000000000000006100ee565b6040516020016100da9392919061041d565b604051602081830303815290604052905090565b60605f60016100fc846101b8565b0190505f8167ffffffffffffffff81111561011a57610119610463565b5b6040519080825280601f01601f19166020018201604052801561014c5781602001600182028036833780820191505090505b5090505f82602001820190505b6001156101ad578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816101a2576101a1610490565b5b0494505f8503610159575b819350505050919050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610214577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161020a57610209610490565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610251576d04ee2d6d415b85acef8100000000838161024757610246610490565b5b0492506020810190505b662386f26fc10000831061028057662386f26fc10000838161027657610275610490565b5b0492506010810190505b6305f5e10083106102a9576305f5e100838161029f5761029e610490565b5b0492506008810190505b61271083106102ce5761271083816102c4576102c3610490565b5b0492506004810190505b606483106102f157606483816102e7576102e6610490565b5b0492506002810190505b600a8310610300576001810190505b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61034b82610309565b6103558185610313565b9350610365818560208601610323565b61036e81610331565b840191505092915050565b5f6020820190508181035f8301526103918184610341565b905092915050565b5f81905092915050565b5f6103ad82610309565b6103b78185610399565b93506103c7818560208601610323565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610407600183610399565b9150610412826103d3565b600182019050919050565b5f61042882866103a3565b9150610433826103fb565b915061043f82856103a3565b915061044a826103fb565b915061045682846103a3565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea26469706673582212203fe2372ce44fc81b98b7537375f7edcec903044adb64bb54dc60667d6a6fb73964736f6c634300081a0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42 SWAP2 SWAP1 PUSH2 0x379 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH2 0x76 PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH2 0x9F PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH2 0xC8 PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xDA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0xFC DUP5 PUSH2 0x1B8 JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11A JUMPI PUSH2 0x119 PUSH2 0x463 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x14C JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x1AD JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x1A2 JUMPI PUSH2 0x1A1 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x159 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x214 JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x20A JUMPI PUSH2 0x209 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x251 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x247 JUMPI PUSH2 0x246 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x280 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x276 JUMPI PUSH2 0x275 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x2A9 JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x29F JUMPI PUSH2 0x29E PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x2CE JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x2C4 JUMPI PUSH2 0x2C3 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x2F1 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x2E7 JUMPI PUSH2 0x2E6 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x300 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x34B DUP3 PUSH2 0x309 JUMP JUMPDEST PUSH2 0x355 DUP2 DUP6 PUSH2 0x313 JUMP JUMPDEST SWAP4 POP PUSH2 0x365 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x323 JUMP JUMPDEST PUSH2 0x36E DUP2 PUSH2 0x331 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x391 DUP2 DUP5 PUSH2 0x341 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x3AD DUP3 PUSH2 0x309 JUMP JUMPDEST PUSH2 0x3B7 DUP2 DUP6 PUSH2 0x399 JUMP JUMPDEST SWAP4 POP PUSH2 0x3C7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x323 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x407 PUSH1 0x1 DUP4 PUSH2 0x399 JUMP JUMPDEST SWAP2 POP PUSH2 0x412 DUP3 PUSH2 0x3D3 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x428 DUP3 DUP7 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP PUSH2 0x433 DUP3 PUSH2 0x3FB JUMP JUMPDEST SWAP2 POP PUSH2 0x43F DUP3 DUP6 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP PUSH2 0x44A DUP3 PUSH2 0x3FB JUMP JUMPDEST SWAP2 POP PUSH2 0x456 DUP3 DUP5 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODEHASH 0xE2 CALLDATACOPY 0x2C 0xE4 0x4F 0xC8 SHL SWAP9 0xB7 MSTORE8 PUSH20 0x75F7EDCEC903044ADB64BB54DC60667D6A6FB739 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", + "sourceMap": "250:932:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;945:235;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;987:13;1072:24;1089:6;1072:16;:24::i;:::-;1103;1120:6;1103:16;:24::i;:::-;1134;1151:6;1134:16;:24::i;:::-;1055:104;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1012:161;;945:235;:::o;637:698:2:-;693:13;742:14;779:1;759:17;770:5;759:10;:17::i;:::-;:21;742:38;;794:20;828:6;817:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:41;;849:11;975:6;971:2;967:15;959:6;955:28;948:35;;1010:282;1017:4;1010:282;;;1041:5;;;;;;;;1180:10;1175:2;1168:5;1164:14;1159:32;1154:3;1146:46;1236:2;1227:11;;;;;;:::i;:::-;;;;;1269:1;1260:5;:10;1010:282;1256:21;1010:282;1312:6;1305:13;;;;;637:698;;;:::o;12214:916:3:-;12267:7;12286:14;12303:1;12286:18;;12351:8;12342:5;:17;12338:103;;12388:8;12379:17;;;;;;:::i;:::-;;;;;12424:2;12414:12;;;;12338:103;12467:8;12458:5;:17;12454:103;;12504:8;12495:17;;;;;;:::i;:::-;;;;;12540:2;12530:12;;;;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;;;;:::i;:::-;;;;;12656:2;12646:12;;;;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;;;;:::i;:::-;;;;;12770:1;12760:11;;;;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;;;;:::i;:::-;;;;;12883:1;12873:11;;;;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;;;;:::i;:::-;;;;;12996:1;12986:11;;;;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;;;;13025:66;13117:6;13110:13;;;12214:916;;;:::o;7:99:13:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:148::-;1344:11;1381:3;1366:18;;1242:148;;;;:::o;1396:390::-;1502:3;1530:39;1563:5;1530:39;:::i;:::-;1585:89;1667:6;1662:3;1585:89;:::i;:::-;1578:96;;1683:65;1741:6;1736:3;1729:4;1722:5;1718:16;1683:65;:::i;:::-;1773:6;1768:3;1764:16;1757:23;;1506:280;1396:390;;;;:::o;1792:151::-;1932:3;1928:1;1920:6;1916:14;1909:27;1792:151;:::o;1949:400::-;2109:3;2130:84;2212:1;2207:3;2130:84;:::i;:::-;2123:91;;2223:93;2312:3;2223:93;:::i;:::-;2341:1;2336:3;2332:11;2325:18;;1949:400;;;:::o;2355:1127::-;2785:3;2807:95;2898:3;2889:6;2807:95;:::i;:::-;2800:102;;2919:148;3063:3;2919:148;:::i;:::-;2912:155;;3084:95;3175:3;3166:6;3084:95;:::i;:::-;3077:102;;3196:148;3340:3;3196:148;:::i;:::-;3189:155;;3361:95;3452:3;3443:6;3361:95;:::i;:::-;3354:102;;3473:3;3466:10;;2355:1127;;;;;;:::o;3488:180::-;3536:77;3533:1;3526:88;3633:4;3630:1;3623:15;3657:4;3654:1;3647:15;3674:180;3722:77;3719:1;3712:88;3819:4;3816:1;3809:15;3843:4;3840:1;3833:15" + }, + "gasEstimates": { + "creation": { + "codeDepositCost": "253400", + "executionCost": "infinite", + "totalCost": "infinite" + }, + "external": { + "version()": "infinite" + } + }, + "legacyAssembly": { + ".code": [ + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "E0" + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 250, + "end": 1182, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "CALLVALUE", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "DUP1", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "ISZERO", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "PUSH [tag]", + "source": 11, + "value": "1" + }, + { + "begin": 692, + "end": 828, + "name": "JUMPI", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 692, + "end": 828, + "name": "DUP1", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "REVERT", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "tag", + "source": 11, + "value": "1" + }, + { + "begin": 692, + "end": 828, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "POP", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 692, + "end": 828, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "PUSHSIZE", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "CODESIZE", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "SUB", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "DUP1", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "PUSHSIZE", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "DUP4", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "CODECOPY", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "DUP2", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "DUP2", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "ADD", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 692, + "end": 828, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "DUP2", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "ADD", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "PUSH [tag]", + "source": 11, + "value": "2" + }, + { + "begin": 692, + "end": 828, + "name": "SWAP2", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "PUSH [tag]", + "source": 11, + "value": "3" + }, + { + "begin": 692, + "end": 828, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "tag", + "source": 11, + "value": "2" + }, + { + "begin": 692, + "end": 828, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 768, + "end": 773, + "name": "DUP3", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "PUSH", + "source": 11, + "value": "80" + }, + { + "begin": 759, + "end": 773, + "name": "DUP2", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "DUP2", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "POP", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "POP", + "source": 11 + }, + { + "begin": 792, + "end": 797, + "name": "DUP2", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "PUSH", + "source": 11, + "value": "A0" + }, + { + "begin": 783, + "end": 797, + "name": "DUP2", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "DUP2", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "POP", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "POP", + "source": 11 + }, + { + "begin": 816, + "end": 821, + "name": "DUP1", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "PUSH", + "source": 11, + "value": "C0" + }, + { + "begin": 807, + "end": 821, + "name": "DUP2", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "DUP2", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "POP", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "POP", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "POP", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "POP", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "POP", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH [tag]", + "source": 11, + "value": "6" + }, + { + "begin": 250, + "end": 1182, + "name": "JUMP", + "source": 11 + }, + { + "begin": 88, + "end": 205, + "name": "tag", + "source": 13, + "value": "8" + }, + { + "begin": 88, + "end": 205, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 197, + "end": 198, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 194, + "end": 195, + "name": "DUP1", + "source": 13 + }, + { + "begin": 187, + "end": 199, + "name": "REVERT", + "source": 13 + }, + { + "begin": 334, + "end": 411, + "name": "tag", + "source": 13, + "value": "10" + }, + { + "begin": 334, + "end": 411, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 371, + "end": 378, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 400, + "end": 405, + "name": "DUP2", + "source": 13 + }, + { + "begin": 389, + "end": 405, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 389, + "end": 405, + "name": "POP", + "source": 13 + }, + { + "begin": 334, + "end": 411, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 334, + "end": 411, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 334, + "end": 411, + "name": "POP", + "source": 13 + }, + { + "begin": 334, + "end": 411, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 417, + "end": 539, + "name": "tag", + "source": 13, + "value": "11" + }, + { + "begin": 417, + "end": 539, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 490, + "end": 514, + "name": "PUSH [tag]", + "source": 13, + "value": "19" + }, + { + "begin": 508, + "end": 513, + "name": "DUP2", + "source": 13 + }, + { + "begin": 490, + "end": 514, + "name": "PUSH [tag]", + "source": 13, + "value": "10" + }, + { + "begin": 490, + "end": 514, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 490, + "end": 514, + "name": "tag", + "source": 13, + "value": "19" + }, + { + "begin": 490, + "end": 514, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 483, + "end": 488, + "name": "DUP2", + "source": 13 + }, + { + "begin": 480, + "end": 515, + "name": "EQ", + "source": 13 + }, + { + "begin": 470, + "end": 533, + "name": "PUSH [tag]", + "source": 13, + "value": "20" + }, + { + "begin": 470, + "end": 533, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 529, + "end": 530, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 526, + "end": 527, + "name": "DUP1", + "source": 13 + }, + { + "begin": 519, + "end": 531, + "name": "REVERT", + "source": 13 + }, + { + "begin": 470, + "end": 533, + "name": "tag", + "source": 13, + "value": "20" + }, + { + "begin": 470, + "end": 533, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 417, + "end": 539, + "name": "POP", + "source": 13 + }, + { + "begin": 417, + "end": 539, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 545, + "end": 688, + "name": "tag", + "source": 13, + "value": "12" + }, + { + "begin": 545, + "end": 688, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 602, + "end": 607, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 633, + "end": 639, + "name": "DUP2", + "source": 13 + }, + { + "begin": 627, + "end": 640, + "name": "MLOAD", + "source": 13 + }, + { + "begin": 618, + "end": 640, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 618, + "end": 640, + "name": "POP", + "source": 13 + }, + { + "begin": 649, + "end": 682, + "name": "PUSH [tag]", + "source": 13, + "value": "22" + }, + { + "begin": 676, + "end": 681, + "name": "DUP2", + "source": 13 + }, + { + "begin": 649, + "end": 682, + "name": "PUSH [tag]", + "source": 13, + "value": "11" + }, + { + "begin": 649, + "end": 682, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 649, + "end": 682, + "name": "tag", + "source": 13, + "value": "22" + }, + { + "begin": 649, + "end": 682, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 545, + "end": 688, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 545, + "end": 688, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 545, + "end": 688, + "name": "POP", + "source": 13 + }, + { + "begin": 545, + "end": 688, + "name": "POP", + "source": 13 + }, + { + "begin": 545, + "end": 688, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 694, + "end": 1357, + "name": "tag", + "source": 13, + "value": "3" + }, + { + "begin": 694, + "end": 1357, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 782, + "end": 788, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 790, + "end": 796, + "name": "DUP1", + "source": 13 + }, + { + "begin": 798, + "end": 804, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 847, + "end": 849, + "name": "PUSH", + "source": 13, + "value": "60" + }, + { + "begin": 835, + "end": 844, + "name": "DUP5", + "source": 13 + }, + { + "begin": 826, + "end": 833, + "name": "DUP7", + "source": 13 + }, + { + "begin": 822, + "end": 845, + "name": "SUB", + "source": 13 + }, + { + "begin": 818, + "end": 850, + "name": "SLT", + "source": 13 + }, + { + "begin": 815, + "end": 934, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 815, + "end": 934, + "name": "PUSH [tag]", + "source": 13, + "value": "24" + }, + { + "begin": 815, + "end": 934, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 853, + "end": 932, + "name": "PUSH [tag]", + "source": 13, + "value": "25" + }, + { + "begin": 853, + "end": 932, + "name": "PUSH [tag]", + "source": 13, + "value": "8" + }, + { + "begin": 853, + "end": 932, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 853, + "end": 932, + "name": "tag", + "source": 13, + "value": "25" + }, + { + "begin": 853, + "end": 932, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 815, + "end": 934, + "name": "tag", + "source": 13, + "value": "24" + }, + { + "begin": 815, + "end": 934, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 973, + "end": 974, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 998, + "end": 1062, + "name": "PUSH [tag]", + "source": 13, + "value": "26" + }, + { + "begin": 1054, + "end": 1061, + "name": "DUP7", + "source": 13 + }, + { + "begin": 1045, + "end": 1051, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1034, + "end": 1043, + "name": "DUP8", + "source": 13 + }, + { + "begin": 1030, + "end": 1052, + "name": "ADD", + "source": 13 + }, + { + "begin": 998, + "end": 1062, + "name": "PUSH [tag]", + "source": 13, + "value": "12" + }, + { + "begin": 998, + "end": 1062, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 998, + "end": 1062, + "name": "tag", + "source": 13, + "value": "26" + }, + { + "begin": 998, + "end": 1062, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 988, + "end": 1062, + "name": "SWAP4", + "source": 13 + }, + { + "begin": 988, + "end": 1062, + "name": "POP", + "source": 13 + }, + { + "begin": 944, + "end": 1072, + "name": "POP", + "source": 13 + }, + { + "begin": 1111, + "end": 1113, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 1137, + "end": 1201, + "name": "PUSH [tag]", + "source": 13, + "value": "27" + }, + { + "begin": 1193, + "end": 1200, + "name": "DUP7", + "source": 13 + }, + { + "begin": 1184, + "end": 1190, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1173, + "end": 1182, + "name": "DUP8", + "source": 13 + }, + { + "begin": 1169, + "end": 1191, + "name": "ADD", + "source": 13 + }, + { + "begin": 1137, + "end": 1201, + "name": "PUSH [tag]", + "source": 13, + "value": "12" + }, + { + "begin": 1137, + "end": 1201, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1137, + "end": 1201, + "name": "tag", + "source": 13, + "value": "27" + }, + { + "begin": 1137, + "end": 1201, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1127, + "end": 1201, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 1127, + "end": 1201, + "name": "POP", + "source": 13 + }, + { + "begin": 1082, + "end": 1211, + "name": "POP", + "source": 13 + }, + { + "begin": 1250, + "end": 1252, + "name": "PUSH", + "source": 13, + "value": "40" + }, + { + "begin": 1276, + "end": 1340, + "name": "PUSH [tag]", + "source": 13, + "value": "28" + }, + { + "begin": 1332, + "end": 1339, + "name": "DUP7", + "source": 13 + }, + { + "begin": 1323, + "end": 1329, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1312, + "end": 1321, + "name": "DUP8", + "source": 13 + }, + { + "begin": 1308, + "end": 1330, + "name": "ADD", + "source": 13 + }, + { + "begin": 1276, + "end": 1340, + "name": "PUSH [tag]", + "source": 13, + "value": "12" + }, + { + "begin": 1276, + "end": 1340, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1276, + "end": 1340, + "name": "tag", + "source": 13, + "value": "28" + }, + { + "begin": 1276, + "end": 1340, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1266, + "end": 1340, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 1266, + "end": 1340, + "name": "POP", + "source": 13 + }, + { + "begin": 1221, + "end": 1350, + "name": "POP", + "source": 13 + }, + { + "begin": 694, + "end": 1357, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 694, + "end": 1357, + "name": "POP", + "source": 13 + }, + { + "begin": 694, + "end": 1357, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 694, + "end": 1357, + "name": "POP", + "source": 13 + }, + { + "begin": 694, + "end": 1357, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 694, + "end": 1357, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 250, + "end": 1182, + "name": "tag", + "source": 11, + "value": "6" + }, + { + "begin": 250, + "end": 1182, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "80" + }, + { + "begin": 250, + "end": 1182, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "A0" + }, + { + "begin": 250, + "end": 1182, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "C0" + }, + { + "begin": 250, + "end": 1182, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH #[$]", + "source": 11, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH [$]", + "source": 11, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 250, + "end": 1182, + "name": "CODECOPY", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 250, + "end": 1182, + "name": "ASSIGNIMMUTABLE", + "source": 11, + "value": "2429" + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 250, + "end": 1182, + "name": "ASSIGNIMMUTABLE", + "source": 11, + "value": "2427" + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 250, + "end": 1182, + "name": "ASSIGNIMMUTABLE", + "source": 11, + "value": "2425" + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH #[$]", + "source": 11, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 250, + "end": 1182, + "name": "RETURN", + "source": 11 + } + ], + ".data": { + "0": { + ".auxdata": "a26469706673582212203fe2372ce44fc81b98b7537375f7edcec903044adb64bb54dc60667d6a6fb73964736f6c634300081a0033", + ".code": [ + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "80" + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 250, + "end": 1182, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "CALLVALUE", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "DUP1", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "ISZERO", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH [tag]", + "source": 11, + "value": "1" + }, + { + "begin": 250, + "end": 1182, + "name": "JUMPI", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 250, + "end": 1182, + "name": "DUP1", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "REVERT", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "tag", + "source": 11, + "value": "1" + }, + { + "begin": 250, + "end": 1182, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "POP", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "4" + }, + { + "begin": 250, + "end": 1182, + "name": "CALLDATASIZE", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "LT", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH [tag]", + "source": 11, + "value": "2" + }, + { + "begin": 250, + "end": 1182, + "name": "JUMPI", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 250, + "end": 1182, + "name": "CALLDATALOAD", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "E0" + }, + { + "begin": 250, + "end": 1182, + "name": "SHR", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "DUP1", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "54FD4D50" + }, + { + "begin": 250, + "end": 1182, + "name": "EQ", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH [tag]", + "source": 11, + "value": "3" + }, + { + "begin": 250, + "end": 1182, + "name": "JUMPI", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "tag", + "source": 11, + "value": "2" + }, + { + "begin": 250, + "end": 1182, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 250, + "end": 1182, + "name": "DUP1", + "source": 11 + }, + { + "begin": 250, + "end": 1182, + "name": "REVERT", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "3" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "4" + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "5" + }, + { + "begin": 945, + "end": 1180, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "4" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 945, + "end": 1180, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "6" + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP2", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "7" + }, + { + "begin": 945, + "end": 1180, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "6" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 945, + "end": 1180, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "DUP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP2", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SUB", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "RETURN", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "5" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 987, + "end": 1000, + "name": "PUSH", + "source": 11, + "value": "60" + }, + { + "begin": 1072, + "end": 1096, + "name": "PUSH [tag]", + "source": 11, + "value": "9" + }, + { + "begin": 1089, + "end": 1095, + "name": "PUSHIMMUTABLE", + "source": 11, + "value": "2425" + }, + { + "begin": 1072, + "end": 1088, + "name": "PUSH [tag]", + "source": 11, + "value": "10" + }, + { + "begin": 1072, + "end": 1096, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 1072, + "end": 1096, + "name": "tag", + "source": 11, + "value": "9" + }, + { + "begin": 1072, + "end": 1096, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 1103, + "end": 1127, + "name": "PUSH [tag]", + "source": 11, + "value": "11" + }, + { + "begin": 1120, + "end": 1126, + "name": "PUSHIMMUTABLE", + "source": 11, + "value": "2427" + }, + { + "begin": 1103, + "end": 1119, + "name": "PUSH [tag]", + "source": 11, + "value": "10" + }, + { + "begin": 1103, + "end": 1127, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 1103, + "end": 1127, + "name": "tag", + "source": 11, + "value": "11" + }, + { + "begin": 1103, + "end": 1127, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 1134, + "end": 1158, + "name": "PUSH [tag]", + "source": 11, + "value": "12" + }, + { + "begin": 1151, + "end": 1157, + "name": "PUSHIMMUTABLE", + "source": 11, + "value": "2429" + }, + { + "begin": 1134, + "end": 1150, + "name": "PUSH [tag]", + "source": 11, + "value": "10" + }, + { + "begin": 1134, + "end": 1158, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 1134, + "end": 1158, + "name": "tag", + "source": 11, + "value": "12" + }, + { + "begin": 1134, + "end": 1158, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 1055, + "end": 1159, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "20" + }, + { + "begin": 1055, + "end": 1159, + "name": "ADD", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH [tag]", + "source": 11, + "value": "13" + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP4", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP3", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP2", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH [tag]", + "source": 11, + "value": "14" + }, + { + "begin": 1055, + "end": 1159, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "tag", + "source": 11, + "value": "13" + }, + { + "begin": 1055, + "end": 1159, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 1055, + "end": 1159, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "20" + }, + { + "begin": 1055, + "end": 1159, + "name": "DUP2", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "DUP4", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SUB", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SUB", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "DUP2", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 1055, + "end": 1159, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 1012, + "end": 1173, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 1012, + "end": 1173, + "name": "POP", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "jumpType": "[out]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 637, + "end": 1335, + "name": "tag", + "source": 2, + "value": "10" + }, + { + "begin": 637, + "end": 1335, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 693, + "end": 706, + "name": "PUSH", + "source": 2, + "value": "60" + }, + { + "begin": 742, + "end": 756, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 779, + "end": 780, + "name": "PUSH", + "source": 2, + "value": "1" + }, + { + "begin": 759, + "end": 776, + "name": "PUSH [tag]", + "source": 2, + "value": "16" + }, + { + "begin": 770, + "end": 775, + "name": "DUP5", + "source": 2 + }, + { + "begin": 759, + "end": 769, + "name": "PUSH [tag]", + "source": 2, + "value": "17" + }, + { + "begin": 759, + "end": 776, + "jumpType": "[in]", + "name": "JUMP", + "source": 2 + }, + { + "begin": 759, + "end": 776, + "name": "tag", + "source": 2, + "value": "16" + }, + { + "begin": 759, + "end": 776, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 759, + "end": 780, + "name": "ADD", + "source": 2 + }, + { + "begin": 742, + "end": 780, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 742, + "end": 780, + "name": "POP", + "source": 2 + }, + { + "begin": 794, + "end": 814, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 828, + "end": 834, + "name": "DUP2", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "FFFFFFFFFFFFFFFF" + }, + { + "begin": 817, + "end": 835, + "name": "DUP2", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "GT", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "ISZERO", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH [tag]", + "source": 2, + "value": "18" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH [tag]", + "source": 2, + "value": "19" + }, + { + "begin": 817, + "end": 835, + "name": "PUSH [tag]", + "source": 2, + "value": "20" + }, + { + "begin": 817, + "end": 835, + "jumpType": "[in]", + "name": "JUMP", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "tag", + "source": 2, + "value": "19" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "tag", + "source": 2, + "value": "18" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "40" + }, + { + "begin": 817, + "end": 835, + "name": "MLOAD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP3", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "MSTORE", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "1F" + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "1F" + }, + { + "begin": 817, + "end": 835, + "name": "NOT", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "AND", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "20" + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP3", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "40" + }, + { + "begin": 817, + "end": 835, + "name": "MSTORE", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "ISZERO", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH [tag]", + "source": 2, + "value": "21" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP2", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "20" + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "1" + }, + { + "begin": 817, + "end": 835, + "name": "DUP3", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "MUL", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "CALLDATASIZE", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP4", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "CALLDATACOPY", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP3", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "SWAP2", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "tag", + "source": 2, + "value": "21" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 794, + "end": 835, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 794, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 849, + "end": 860, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 975, + "end": 981, + "name": "DUP3", + "source": 2 + }, + { + "begin": 971, + "end": 973, + "name": "PUSH", + "source": 2, + "value": "20" + }, + { + "begin": 967, + "end": 982, + "name": "ADD", + "source": 2 + }, + { + "begin": 959, + "end": 965, + "name": "DUP3", + "source": 2 + }, + { + "begin": 955, + "end": 983, + "name": "ADD", + "source": 2 + }, + { + "begin": 948, + "end": 983, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 948, + "end": 983, + "name": "POP", + "source": 2 + }, + { + "begin": 1010, + "end": 1292, + "name": "tag", + "source": 2, + "value": "22" + }, + { + "begin": 1010, + "end": 1292, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 1017, + "end": 1021, + "name": "PUSH", + "source": 2, + "value": "1" + }, + { + "begin": 1010, + "end": 1292, + "name": "ISZERO", + "source": 2 + }, + { + "begin": 1010, + "end": 1292, + "name": "PUSH [tag]", + "source": 2, + "value": "23" + }, + { + "begin": 1010, + "end": 1292, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "DUP1", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "DUP1", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "PUSH", + "source": 2, + "value": "1" + }, + { + "begin": 1041, + "end": 1046, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "SUB", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "SWAP2", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "POP", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "POP", + "source": 2 + }, + { + "begin": 1180, + "end": 1190, + "name": "PUSH", + "source": 2, + "value": "3031323334353637383961626364656600000000000000000000000000000000" + }, + { + "begin": 1175, + "end": 1177, + "name": "PUSH", + "source": 2, + "value": "A" + }, + { + "begin": 1168, + "end": 1173, + "name": "DUP7", + "source": 2 + }, + { + "begin": 1164, + "end": 1178, + "name": "MOD", + "source": 2 + }, + { + "begin": 1159, + "end": 1191, + "name": "BYTE", + "source": 2 + }, + { + "begin": 1154, + "end": 1157, + "name": "DUP2", + "source": 2 + }, + { + "begin": 1146, + "end": 1192, + "name": "MSTORE8", + "source": 2 + }, + { + "begin": 1236, + "end": 1238, + "name": "PUSH", + "source": 2, + "value": "A" + }, + { + "begin": 1227, + "end": 1238, + "name": "DUP6", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "DUP2", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "PUSH [tag]", + "source": 2, + "value": "24" + }, + { + "begin": 1227, + "end": 1238, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "PUSH [tag]", + "source": 2, + "value": "25" + }, + { + "begin": 1227, + "end": 1238, + "name": "PUSH [tag]", + "source": 2, + "value": "26" + }, + { + "begin": 1227, + "end": 1238, + "jumpType": "[in]", + "name": "JUMP", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "tag", + "source": 2, + "value": "25" + }, + { + "begin": 1227, + "end": 1238, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "tag", + "source": 2, + "value": "24" + }, + { + "begin": 1227, + "end": 1238, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "DIV", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "SWAP5", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "POP", + "source": 2 + }, + { + "begin": 1269, + "end": 1270, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 1260, + "end": 1265, + "name": "DUP6", + "source": 2 + }, + { + "begin": 1260, + "end": 1270, + "name": "SUB", + "source": 2 + }, + { + "begin": 1010, + "end": 1292, + "name": "PUSH [tag]", + "source": 2, + "value": "22" + }, + { + "begin": 1256, + "end": 1277, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 1010, + "end": 1292, + "name": "tag", + "source": 2, + "value": "23" + }, + { + "begin": 1010, + "end": 1292, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 1312, + "end": 1318, + "name": "DUP2", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "SWAP4", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "POP", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "POP", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "POP", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "POP", + "source": 2 + }, + { + "begin": 637, + "end": 1335, + "name": "SWAP2", + "source": 2 + }, + { + "begin": 637, + "end": 1335, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 637, + "end": 1335, + "name": "POP", + "source": 2 + }, + { + "begin": 637, + "end": 1335, + "jumpType": "[out]", + "name": "JUMP", + "source": 2 + }, + { + "begin": 12214, + "end": 13130, + "name": "tag", + "source": 3, + "value": "17" + }, + { + "begin": 12214, + "end": 13130, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12267, + "end": 12274, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 12286, + "end": 12300, + "name": "DUP1", + "source": 3 + }, + { + "begin": 12303, + "end": 12304, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 12286, + "end": 12304, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12286, + "end": 12304, + "name": "POP", + "source": 3 + }, + { + "begin": 12351, + "end": 12359, + "name": "PUSH", + "source": 3, + "value": "184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000" + }, + { + "begin": 12342, + "end": 12347, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12342, + "end": 12359, + "name": "LT", + "source": 3 + }, + { + "begin": 12338, + "end": 12441, + "name": "PUSH [tag]", + "source": 3, + "value": "29" + }, + { + "begin": 12338, + "end": 12441, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12388, + "end": 12396, + "name": "PUSH", + "source": 3, + "value": "184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000" + }, + { + "begin": 12379, + "end": 12396, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "PUSH [tag]", + "source": 3, + "value": "30" + }, + { + "begin": 12379, + "end": 12396, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "PUSH [tag]", + "source": 3, + "value": "31" + }, + { + "begin": 12379, + "end": 12396, + "name": "PUSH [tag]", + "source": 3, + "value": "26" + }, + { + "begin": 12379, + "end": 12396, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "tag", + "source": 3, + "value": "31" + }, + { + "begin": 12379, + "end": 12396, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "tag", + "source": 3, + "value": "30" + }, + { + "begin": 12379, + "end": 12396, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "DIV", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "POP", + "source": 3 + }, + { + "begin": 12424, + "end": 12426, + "name": "PUSH", + "source": 3, + "value": "40" + }, + { + "begin": 12414, + "end": 12426, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12414, + "end": 12426, + "name": "ADD", + "source": 3 + }, + { + "begin": 12414, + "end": 12426, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12414, + "end": 12426, + "name": "POP", + "source": 3 + }, + { + "begin": 12338, + "end": 12441, + "name": "tag", + "source": 3, + "value": "29" + }, + { + "begin": 12338, + "end": 12441, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12467, + "end": 12475, + "name": "PUSH", + "source": 3, + "value": "4EE2D6D415B85ACEF8100000000" + }, + { + "begin": 12458, + "end": 12463, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12458, + "end": 12475, + "name": "LT", + "source": 3 + }, + { + "begin": 12454, + "end": 12557, + "name": "PUSH [tag]", + "source": 3, + "value": "32" + }, + { + "begin": 12454, + "end": 12557, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12504, + "end": 12512, + "name": "PUSH", + "source": 3, + "value": "4EE2D6D415B85ACEF8100000000" + }, + { + "begin": 12495, + "end": 12512, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "PUSH [tag]", + "source": 3, + "value": "33" + }, + { + "begin": 12495, + "end": 12512, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "PUSH [tag]", + "source": 3, + "value": "34" + }, + { + "begin": 12495, + "end": 12512, + "name": "PUSH [tag]", + "source": 3, + "value": "26" + }, + { + "begin": 12495, + "end": 12512, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "tag", + "source": 3, + "value": "34" + }, + { + "begin": 12495, + "end": 12512, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "tag", + "source": 3, + "value": "33" + }, + { + "begin": 12495, + "end": 12512, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "DIV", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "POP", + "source": 3 + }, + { + "begin": 12540, + "end": 12542, + "name": "PUSH", + "source": 3, + "value": "20" + }, + { + "begin": 12530, + "end": 12542, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12530, + "end": 12542, + "name": "ADD", + "source": 3 + }, + { + "begin": 12530, + "end": 12542, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12530, + "end": 12542, + "name": "POP", + "source": 3 + }, + { + "begin": 12454, + "end": 12557, + "name": "tag", + "source": 3, + "value": "32" + }, + { + "begin": 12454, + "end": 12557, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12583, + "end": 12591, + "name": "PUSH", + "source": 3, + "value": "2386F26FC10000" + }, + { + "begin": 12574, + "end": 12579, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12574, + "end": 12591, + "name": "LT", + "source": 3 + }, + { + "begin": 12570, + "end": 12673, + "name": "PUSH [tag]", + "source": 3, + "value": "35" + }, + { + "begin": 12570, + "end": 12673, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12620, + "end": 12628, + "name": "PUSH", + "source": 3, + "value": "2386F26FC10000" + }, + { + "begin": 12611, + "end": 12628, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "PUSH [tag]", + "source": 3, + "value": "36" + }, + { + "begin": 12611, + "end": 12628, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "PUSH [tag]", + "source": 3, + "value": "37" + }, + { + "begin": 12611, + "end": 12628, + "name": "PUSH [tag]", + "source": 3, + "value": "26" + }, + { + "begin": 12611, + "end": 12628, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "tag", + "source": 3, + "value": "37" + }, + { + "begin": 12611, + "end": 12628, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "tag", + "source": 3, + "value": "36" + }, + { + "begin": 12611, + "end": 12628, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "DIV", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "POP", + "source": 3 + }, + { + "begin": 12656, + "end": 12658, + "name": "PUSH", + "source": 3, + "value": "10" + }, + { + "begin": 12646, + "end": 12658, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12646, + "end": 12658, + "name": "ADD", + "source": 3 + }, + { + "begin": 12646, + "end": 12658, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12646, + "end": 12658, + "name": "POP", + "source": 3 + }, + { + "begin": 12570, + "end": 12673, + "name": "tag", + "source": 3, + "value": "35" + }, + { + "begin": 12570, + "end": 12673, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12699, + "end": 12706, + "name": "PUSH", + "source": 3, + "value": "5F5E100" + }, + { + "begin": 12690, + "end": 12695, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12690, + "end": 12706, + "name": "LT", + "source": 3 + }, + { + "begin": 12686, + "end": 12786, + "name": "PUSH [tag]", + "source": 3, + "value": "38" + }, + { + "begin": 12686, + "end": 12786, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12735, + "end": 12742, + "name": "PUSH", + "source": 3, + "value": "5F5E100" + }, + { + "begin": 12726, + "end": 12742, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "PUSH [tag]", + "source": 3, + "value": "39" + }, + { + "begin": 12726, + "end": 12742, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "PUSH [tag]", + "source": 3, + "value": "40" + }, + { + "begin": 12726, + "end": 12742, + "name": "PUSH [tag]", + "source": 3, + "value": "26" + }, + { + "begin": 12726, + "end": 12742, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "tag", + "source": 3, + "value": "40" + }, + { + "begin": 12726, + "end": 12742, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "tag", + "source": 3, + "value": "39" + }, + { + "begin": 12726, + "end": 12742, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "DIV", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "POP", + "source": 3 + }, + { + "begin": 12770, + "end": 12771, + "name": "PUSH", + "source": 3, + "value": "8" + }, + { + "begin": 12760, + "end": 12771, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12760, + "end": 12771, + "name": "ADD", + "source": 3 + }, + { + "begin": 12760, + "end": 12771, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12760, + "end": 12771, + "name": "POP", + "source": 3 + }, + { + "begin": 12686, + "end": 12786, + "name": "tag", + "source": 3, + "value": "38" + }, + { + "begin": 12686, + "end": 12786, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12812, + "end": 12819, + "name": "PUSH", + "source": 3, + "value": "2710" + }, + { + "begin": 12803, + "end": 12808, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12803, + "end": 12819, + "name": "LT", + "source": 3 + }, + { + "begin": 12799, + "end": 12899, + "name": "PUSH [tag]", + "source": 3, + "value": "41" + }, + { + "begin": 12799, + "end": 12899, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12848, + "end": 12855, + "name": "PUSH", + "source": 3, + "value": "2710" + }, + { + "begin": 12839, + "end": 12855, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "PUSH [tag]", + "source": 3, + "value": "42" + }, + { + "begin": 12839, + "end": 12855, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "PUSH [tag]", + "source": 3, + "value": "43" + }, + { + "begin": 12839, + "end": 12855, + "name": "PUSH [tag]", + "source": 3, + "value": "26" + }, + { + "begin": 12839, + "end": 12855, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "tag", + "source": 3, + "value": "43" + }, + { + "begin": 12839, + "end": 12855, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "tag", + "source": 3, + "value": "42" + }, + { + "begin": 12839, + "end": 12855, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "DIV", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "POP", + "source": 3 + }, + { + "begin": 12883, + "end": 12884, + "name": "PUSH", + "source": 3, + "value": "4" + }, + { + "begin": 12873, + "end": 12884, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12873, + "end": 12884, + "name": "ADD", + "source": 3 + }, + { + "begin": 12873, + "end": 12884, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12873, + "end": 12884, + "name": "POP", + "source": 3 + }, + { + "begin": 12799, + "end": 12899, + "name": "tag", + "source": 3, + "value": "41" + }, + { + "begin": 12799, + "end": 12899, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12925, + "end": 12932, + "name": "PUSH", + "source": 3, + "value": "64" + }, + { + "begin": 12916, + "end": 12921, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12916, + "end": 12932, + "name": "LT", + "source": 3 + }, + { + "begin": 12912, + "end": 13012, + "name": "PUSH [tag]", + "source": 3, + "value": "44" + }, + { + "begin": 12912, + "end": 13012, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12961, + "end": 12968, + "name": "PUSH", + "source": 3, + "value": "64" + }, + { + "begin": 12952, + "end": 12968, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "PUSH [tag]", + "source": 3, + "value": "45" + }, + { + "begin": 12952, + "end": 12968, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "PUSH [tag]", + "source": 3, + "value": "46" + }, + { + "begin": 12952, + "end": 12968, + "name": "PUSH [tag]", + "source": 3, + "value": "26" + }, + { + "begin": 12952, + "end": 12968, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "tag", + "source": 3, + "value": "46" + }, + { + "begin": 12952, + "end": 12968, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "tag", + "source": 3, + "value": "45" + }, + { + "begin": 12952, + "end": 12968, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "DIV", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "POP", + "source": 3 + }, + { + "begin": 12996, + "end": 12997, + "name": "PUSH", + "source": 3, + "value": "2" + }, + { + "begin": 12986, + "end": 12997, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12986, + "end": 12997, + "name": "ADD", + "source": 3 + }, + { + "begin": 12986, + "end": 12997, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12986, + "end": 12997, + "name": "POP", + "source": 3 + }, + { + "begin": 12912, + "end": 13012, + "name": "tag", + "source": 3, + "value": "44" + }, + { + "begin": 12912, + "end": 13012, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 13038, + "end": 13045, + "name": "PUSH", + "source": 3, + "value": "A" + }, + { + "begin": 13029, + "end": 13034, + "name": "DUP4", + "source": 3 + }, + { + "begin": 13029, + "end": 13045, + "name": "LT", + "source": 3 + }, + { + "begin": 13025, + "end": 13091, + "name": "PUSH [tag]", + "source": 3, + "value": "47" + }, + { + "begin": 13025, + "end": 13091, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 13075, + "end": 13076, + "name": "PUSH", + "source": 3, + "value": "1" + }, + { + "begin": 13065, + "end": 13076, + "name": "DUP2", + "source": 3 + }, + { + "begin": 13065, + "end": 13076, + "name": "ADD", + "source": 3 + }, + { + "begin": 13065, + "end": 13076, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 13065, + "end": 13076, + "name": "POP", + "source": 3 + }, + { + "begin": 13025, + "end": 13091, + "name": "tag", + "source": 3, + "value": "47" + }, + { + "begin": 13025, + "end": 13091, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 13117, + "end": 13123, + "name": "DUP1", + "source": 3 + }, + { + "begin": 13110, + "end": 13123, + "name": "SWAP2", + "source": 3 + }, + { + "begin": 13110, + "end": 13123, + "name": "POP", + "source": 3 + }, + { + "begin": 13110, + "end": 13123, + "name": "POP", + "source": 3 + }, + { + "begin": 12214, + "end": 13130, + "name": "SWAP2", + "source": 3 + }, + { + "begin": 12214, + "end": 13130, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12214, + "end": 13130, + "name": "POP", + "source": 3 + }, + { + "begin": 12214, + "end": 13130, + "jumpType": "[out]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 7, + "end": 106, + "name": "tag", + "source": 13, + "value": "48" + }, + { + "begin": 7, + "end": 106, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 59, + "end": 65, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 93, + "end": 98, + "name": "DUP2", + "source": 13 + }, + { + "begin": 87, + "end": 99, + "name": "MLOAD", + "source": 13 + }, + { + "begin": 77, + "end": 99, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 77, + "end": 99, + "name": "POP", + "source": 13 + }, + { + "begin": 7, + "end": 106, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 7, + "end": 106, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 7, + "end": 106, + "name": "POP", + "source": 13 + }, + { + "begin": 7, + "end": 106, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "tag", + "source": 13, + "value": "49" + }, + { + "begin": 112, + "end": 281, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 196, + "end": 207, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 230, + "end": 236, + "name": "DUP3", + "source": 13 + }, + { + "begin": 225, + "end": 228, + "name": "DUP3", + "source": 13 + }, + { + "begin": 218, + "end": 237, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 270, + "end": 274, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 265, + "end": 268, + "name": "DUP3", + "source": 13 + }, + { + "begin": 261, + "end": 275, + "name": "ADD", + "source": 13 + }, + { + "begin": 246, + "end": 275, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 246, + "end": 275, + "name": "POP", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "POP", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "POP", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "name": "tag", + "source": 13, + "value": "50" + }, + { + "begin": 287, + "end": 426, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 376, + "end": 382, + "name": "DUP3", + "source": 13 + }, + { + "begin": 371, + "end": 374, + "name": "DUP2", + "source": 13 + }, + { + "begin": 366, + "end": 369, + "name": "DUP4", + "source": 13 + }, + { + "begin": 360, + "end": 383, + "name": "MCOPY", + "source": 13 + }, + { + "begin": 417, + "end": 418, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 408, + "end": 414, + "name": "DUP4", + "source": 13 + }, + { + "begin": 403, + "end": 406, + "name": "DUP4", + "source": 13 + }, + { + "begin": 399, + "end": 415, + "name": "ADD", + "source": 13 + }, + { + "begin": 392, + "end": 419, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "name": "POP", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "name": "POP", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "name": "POP", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "name": "tag", + "source": 13, + "value": "51" + }, + { + "begin": 432, + "end": 534, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 473, + "end": 479, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 524, + "end": 526, + "name": "PUSH", + "source": 13, + "value": "1F" + }, + { + "begin": 520, + "end": 527, + "name": "NOT", + "source": 13 + }, + { + "begin": 515, + "end": 517, + "name": "PUSH", + "source": 13, + "value": "1F" + }, + { + "begin": 508, + "end": 513, + "name": "DUP4", + "source": 13 + }, + { + "begin": 504, + "end": 518, + "name": "ADD", + "source": 13 + }, + { + "begin": 500, + "end": 528, + "name": "AND", + "source": 13 + }, + { + "begin": 490, + "end": 528, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 490, + "end": 528, + "name": "POP", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "name": "POP", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "tag", + "source": 13, + "value": "52" + }, + { + "begin": 540, + "end": 917, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 628, + "end": 631, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 656, + "end": 695, + "name": "PUSH [tag]", + "source": 13, + "value": "63" + }, + { + "begin": 689, + "end": 694, + "name": "DUP3", + "source": 13 + }, + { + "begin": 656, + "end": 695, + "name": "PUSH [tag]", + "source": 13, + "value": "48" + }, + { + "begin": 656, + "end": 695, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 656, + "end": 695, + "name": "tag", + "source": 13, + "value": "63" + }, + { + "begin": 656, + "end": 695, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 711, + "end": 782, + "name": "PUSH [tag]", + "source": 13, + "value": "64" + }, + { + "begin": 775, + "end": 781, + "name": "DUP2", + "source": 13 + }, + { + "begin": 770, + "end": 773, + "name": "DUP6", + "source": 13 + }, + { + "begin": 711, + "end": 782, + "name": "PUSH [tag]", + "source": 13, + "value": "49" + }, + { + "begin": 711, + "end": 782, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 711, + "end": 782, + "name": "tag", + "source": 13, + "value": "64" + }, + { + "begin": 711, + "end": 782, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 704, + "end": 782, + "name": "SWAP4", + "source": 13 + }, + { + "begin": 704, + "end": 782, + "name": "POP", + "source": 13 + }, + { + "begin": 791, + "end": 856, + "name": "PUSH [tag]", + "source": 13, + "value": "65" + }, + { + "begin": 849, + "end": 855, + "name": "DUP2", + "source": 13 + }, + { + "begin": 844, + "end": 847, + "name": "DUP6", + "source": 13 + }, + { + "begin": 837, + "end": 841, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 830, + "end": 835, + "name": "DUP7", + "source": 13 + }, + { + "begin": 826, + "end": 842, + "name": "ADD", + "source": 13 + }, + { + "begin": 791, + "end": 856, + "name": "PUSH [tag]", + "source": 13, + "value": "50" + }, + { + "begin": 791, + "end": 856, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 791, + "end": 856, + "name": "tag", + "source": 13, + "value": "65" + }, + { + "begin": 791, + "end": 856, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 881, + "end": 910, + "name": "PUSH [tag]", + "source": 13, + "value": "66" + }, + { + "begin": 903, + "end": 909, + "name": "DUP2", + "source": 13 + }, + { + "begin": 881, + "end": 910, + "name": "PUSH [tag]", + "source": 13, + "value": "51" + }, + { + "begin": 881, + "end": 910, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 881, + "end": 910, + "name": "tag", + "source": 13, + "value": "66" + }, + { + "begin": 881, + "end": 910, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 876, + "end": 879, + "name": "DUP5", + "source": 13 + }, + { + "begin": 872, + "end": 911, + "name": "ADD", + "source": 13 + }, + { + "begin": 865, + "end": 911, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 865, + "end": 911, + "name": "POP", + "source": 13 + }, + { + "begin": 632, + "end": 917, + "name": "POP", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "POP", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "POP", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "tag", + "source": 13, + "value": "7" + }, + { + "begin": 923, + "end": 1236, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1036, + "end": 1040, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1074, + "end": 1076, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 1063, + "end": 1072, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1059, + "end": 1077, + "name": "ADD", + "source": 13 + }, + { + "begin": 1051, + "end": 1077, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 1051, + "end": 1077, + "name": "POP", + "source": 13 + }, + { + "begin": 1123, + "end": 1132, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1117, + "end": 1121, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1113, + "end": 1133, + "name": "SUB", + "source": 13 + }, + { + "begin": 1109, + "end": 1110, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1098, + "end": 1107, + "name": "DUP4", + "source": 13 + }, + { + "begin": 1094, + "end": 1111, + "name": "ADD", + "source": 13 + }, + { + "begin": 1087, + "end": 1134, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 1151, + "end": 1229, + "name": "PUSH [tag]", + "source": 13, + "value": "68" + }, + { + "begin": 1224, + "end": 1228, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1215, + "end": 1221, + "name": "DUP5", + "source": 13 + }, + { + "begin": 1151, + "end": 1229, + "name": "PUSH [tag]", + "source": 13, + "value": "52" + }, + { + "begin": 1151, + "end": 1229, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1151, + "end": 1229, + "name": "tag", + "source": 13, + "value": "68" + }, + { + "begin": 1151, + "end": 1229, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1143, + "end": 1229, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 1143, + "end": 1229, + "name": "POP", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "POP", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "POP", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1242, + "end": 1390, + "name": "tag", + "source": 13, + "value": "53" + }, + { + "begin": 1242, + "end": 1390, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1344, + "end": 1355, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1381, + "end": 1384, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1366, + "end": 1384, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 1366, + "end": 1384, + "name": "POP", + "source": 13 + }, + { + "begin": 1242, + "end": 1390, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 1242, + "end": 1390, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 1242, + "end": 1390, + "name": "POP", + "source": 13 + }, + { + "begin": 1242, + "end": 1390, + "name": "POP", + "source": 13 + }, + { + "begin": 1242, + "end": 1390, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1396, + "end": 1786, + "name": "tag", + "source": 13, + "value": "54" + }, + { + "begin": 1396, + "end": 1786, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1502, + "end": 1505, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1530, + "end": 1569, + "name": "PUSH [tag]", + "source": 13, + "value": "71" + }, + { + "begin": 1563, + "end": 1568, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1530, + "end": 1569, + "name": "PUSH [tag]", + "source": 13, + "value": "48" + }, + { + "begin": 1530, + "end": 1569, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1530, + "end": 1569, + "name": "tag", + "source": 13, + "value": "71" + }, + { + "begin": 1530, + "end": 1569, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1585, + "end": 1674, + "name": "PUSH [tag]", + "source": 13, + "value": "72" + }, + { + "begin": 1667, + "end": 1673, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1662, + "end": 1665, + "name": "DUP6", + "source": 13 + }, + { + "begin": 1585, + "end": 1674, + "name": "PUSH [tag]", + "source": 13, + "value": "53" + }, + { + "begin": 1585, + "end": 1674, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1585, + "end": 1674, + "name": "tag", + "source": 13, + "value": "72" + }, + { + "begin": 1585, + "end": 1674, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1578, + "end": 1674, + "name": "SWAP4", + "source": 13 + }, + { + "begin": 1578, + "end": 1674, + "name": "POP", + "source": 13 + }, + { + "begin": 1683, + "end": 1748, + "name": "PUSH [tag]", + "source": 13, + "value": "73" + }, + { + "begin": 1741, + "end": 1747, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1736, + "end": 1739, + "name": "DUP6", + "source": 13 + }, + { + "begin": 1729, + "end": 1733, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 1722, + "end": 1727, + "name": "DUP7", + "source": 13 + }, + { + "begin": 1718, + "end": 1734, + "name": "ADD", + "source": 13 + }, + { + "begin": 1683, + "end": 1748, + "name": "PUSH [tag]", + "source": 13, + "value": "50" + }, + { + "begin": 1683, + "end": 1748, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1683, + "end": 1748, + "name": "tag", + "source": 13, + "value": "73" + }, + { + "begin": 1683, + "end": 1748, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1773, + "end": 1779, + "name": "DUP1", + "source": 13 + }, + { + "begin": 1768, + "end": 1771, + "name": "DUP5", + "source": 13 + }, + { + "begin": 1764, + "end": 1780, + "name": "ADD", + "source": 13 + }, + { + "begin": 1757, + "end": 1780, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 1757, + "end": 1780, + "name": "POP", + "source": 13 + }, + { + "begin": 1506, + "end": 1786, + "name": "POP", + "source": 13 + }, + { + "begin": 1396, + "end": 1786, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 1396, + "end": 1786, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 1396, + "end": 1786, + "name": "POP", + "source": 13 + }, + { + "begin": 1396, + "end": 1786, + "name": "POP", + "source": 13 + }, + { + "begin": 1396, + "end": 1786, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1792, + "end": 1943, + "name": "tag", + "source": 13, + "value": "55" + }, + { + "begin": 1792, + "end": 1943, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1932, + "end": 1935, + "name": "PUSH", + "source": 13, + "value": "2E00000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 1928, + "end": 1929, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1920, + "end": 1926, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1916, + "end": 1930, + "name": "ADD", + "source": 13 + }, + { + "begin": 1909, + "end": 1936, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 1792, + "end": 1943, + "name": "POP", + "source": 13 + }, + { + "begin": 1792, + "end": 1943, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1949, + "end": 2349, + "name": "tag", + "source": 13, + "value": "56" + }, + { + "begin": 1949, + "end": 2349, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2109, + "end": 2112, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 2130, + "end": 2214, + "name": "PUSH [tag]", + "source": 13, + "value": "76" + }, + { + "begin": 2212, + "end": 2213, + "name": "PUSH", + "source": 13, + "value": "1" + }, + { + "begin": 2207, + "end": 2210, + "name": "DUP4", + "source": 13 + }, + { + "begin": 2130, + "end": 2214, + "name": "PUSH [tag]", + "source": 13, + "value": "53" + }, + { + "begin": 2130, + "end": 2214, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2130, + "end": 2214, + "name": "tag", + "source": 13, + "value": "76" + }, + { + "begin": 2130, + "end": 2214, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2123, + "end": 2214, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 2123, + "end": 2214, + "name": "POP", + "source": 13 + }, + { + "begin": 2223, + "end": 2316, + "name": "PUSH [tag]", + "source": 13, + "value": "77" + }, + { + "begin": 2312, + "end": 2315, + "name": "DUP3", + "source": 13 + }, + { + "begin": 2223, + "end": 2316, + "name": "PUSH [tag]", + "source": 13, + "value": "55" + }, + { + "begin": 2223, + "end": 2316, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2223, + "end": 2316, + "name": "tag", + "source": 13, + "value": "77" + }, + { + "begin": 2223, + "end": 2316, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2341, + "end": 2342, + "name": "PUSH", + "source": 13, + "value": "1" + }, + { + "begin": 2336, + "end": 2339, + "name": "DUP3", + "source": 13 + }, + { + "begin": 2332, + "end": 2343, + "name": "ADD", + "source": 13 + }, + { + "begin": 2325, + "end": 2343, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 2325, + "end": 2343, + "name": "POP", + "source": 13 + }, + { + "begin": 1949, + "end": 2349, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 1949, + "end": 2349, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 1949, + "end": 2349, + "name": "POP", + "source": 13 + }, + { + "begin": 1949, + "end": 2349, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2355, + "end": 3482, + "name": "tag", + "source": 13, + "value": "14" + }, + { + "begin": 2355, + "end": 3482, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2785, + "end": 2788, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 2807, + "end": 2902, + "name": "PUSH [tag]", + "source": 13, + "value": "79" + }, + { + "begin": 2898, + "end": 2901, + "name": "DUP3", + "source": 13 + }, + { + "begin": 2889, + "end": 2895, + "name": "DUP7", + "source": 13 + }, + { + "begin": 2807, + "end": 2902, + "name": "PUSH [tag]", + "source": 13, + "value": "54" + }, + { + "begin": 2807, + "end": 2902, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2807, + "end": 2902, + "name": "tag", + "source": 13, + "value": "79" + }, + { + "begin": 2807, + "end": 2902, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2800, + "end": 2902, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 2800, + "end": 2902, + "name": "POP", + "source": 13 + }, + { + "begin": 2919, + "end": 3067, + "name": "PUSH [tag]", + "source": 13, + "value": "80" + }, + { + "begin": 3063, + "end": 3066, + "name": "DUP3", + "source": 13 + }, + { + "begin": 2919, + "end": 3067, + "name": "PUSH [tag]", + "source": 13, + "value": "56" + }, + { + "begin": 2919, + "end": 3067, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2919, + "end": 3067, + "name": "tag", + "source": 13, + "value": "80" + }, + { + "begin": 2919, + "end": 3067, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2912, + "end": 3067, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 2912, + "end": 3067, + "name": "POP", + "source": 13 + }, + { + "begin": 3084, + "end": 3179, + "name": "PUSH [tag]", + "source": 13, + "value": "81" + }, + { + "begin": 3175, + "end": 3178, + "name": "DUP3", + "source": 13 + }, + { + "begin": 3166, + "end": 3172, + "name": "DUP6", + "source": 13 + }, + { + "begin": 3084, + "end": 3179, + "name": "PUSH [tag]", + "source": 13, + "value": "54" + }, + { + "begin": 3084, + "end": 3179, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3084, + "end": 3179, + "name": "tag", + "source": 13, + "value": "81" + }, + { + "begin": 3084, + "end": 3179, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3077, + "end": 3179, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 3077, + "end": 3179, + "name": "POP", + "source": 13 + }, + { + "begin": 3196, + "end": 3344, + "name": "PUSH [tag]", + "source": 13, + "value": "82" + }, + { + "begin": 3340, + "end": 3343, + "name": "DUP3", + "source": 13 + }, + { + "begin": 3196, + "end": 3344, + "name": "PUSH [tag]", + "source": 13, + "value": "56" + }, + { + "begin": 3196, + "end": 3344, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3196, + "end": 3344, + "name": "tag", + "source": 13, + "value": "82" + }, + { + "begin": 3196, + "end": 3344, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3189, + "end": 3344, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 3189, + "end": 3344, + "name": "POP", + "source": 13 + }, + { + "begin": 3361, + "end": 3456, + "name": "PUSH [tag]", + "source": 13, + "value": "83" + }, + { + "begin": 3452, + "end": 3455, + "name": "DUP3", + "source": 13 + }, + { + "begin": 3443, + "end": 3449, + "name": "DUP5", + "source": 13 + }, + { + "begin": 3361, + "end": 3456, + "name": "PUSH [tag]", + "source": 13, + "value": "54" + }, + { + "begin": 3361, + "end": 3456, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3361, + "end": 3456, + "name": "tag", + "source": 13, + "value": "83" + }, + { + "begin": 3361, + "end": 3456, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3354, + "end": 3456, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 3354, + "end": 3456, + "name": "POP", + "source": 13 + }, + { + "begin": 3473, + "end": 3476, + "name": "DUP2", + "source": 13 + }, + { + "begin": 3466, + "end": 3476, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 3466, + "end": 3476, + "name": "POP", + "source": 13 + }, + { + "begin": 2355, + "end": 3482, + "name": "SWAP5", + "source": 13 + }, + { + "begin": 2355, + "end": 3482, + "name": "SWAP4", + "source": 13 + }, + { + "begin": 2355, + "end": 3482, + "name": "POP", + "source": 13 + }, + { + "begin": 2355, + "end": 3482, + "name": "POP", + "source": 13 + }, + { + "begin": 2355, + "end": 3482, + "name": "POP", + "source": 13 + }, + { + "begin": 2355, + "end": 3482, + "name": "POP", + "source": 13 + }, + { + "begin": 2355, + "end": 3482, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3488, + "end": 3668, + "name": "tag", + "source": 13, + "value": "20" + }, + { + "begin": 3488, + "end": 3668, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3536, + "end": 3613, + "name": "PUSH", + "source": 13, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 3533, + "end": 3534, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 3526, + "end": 3614, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 3633, + "end": 3637, + "name": "PUSH", + "source": 13, + "value": "41" + }, + { + "begin": 3630, + "end": 3631, + "name": "PUSH", + "source": 13, + "value": "4" + }, + { + "begin": 3623, + "end": 3638, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 3657, + "end": 3661, + "name": "PUSH", + "source": 13, + "value": "24" + }, + { + "begin": 3654, + "end": 3655, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 3647, + "end": 3662, + "name": "REVERT", + "source": 13 + }, + { + "begin": 3674, + "end": 3854, + "name": "tag", + "source": 13, + "value": "26" + }, + { + "begin": 3674, + "end": 3854, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3722, + "end": 3799, + "name": "PUSH", + "source": 13, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 3719, + "end": 3720, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 3712, + "end": 3800, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 3819, + "end": 3823, + "name": "PUSH", + "source": 13, + "value": "12" + }, + { + "begin": 3816, + "end": 3817, + "name": "PUSH", + "source": 13, + "value": "4" + }, + { + "begin": 3809, + "end": 3824, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 3843, + "end": 3847, + "name": "PUSH", + "source": 13, + "value": "24" + }, + { + "begin": 3840, + "end": 3841, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 3833, + "end": 3848, + "name": "REVERT", + "source": 13 + } + ] + } + }, + "sourceList": [ + "@openzeppelin/contracts/access/Ownable.sol", + "@openzeppelin/contracts/utils/Context.sol", + "@openzeppelin/contracts/utils/Strings.sol", + "@openzeppelin/contracts/utils/math/Math.sol", + "@openzeppelin/contracts/utils/math/SignedMath.sol", + "EAS/Common.sol", + "EAS/IEAS.sol", + "EAS/ISchemaRegistry.sol", + "EAS/ISchemaResolver.sol", + "EAS/ISemver.sol", + "EAS/SchemaResolver.sol", + "EAS/Semver.sol", + "ownable-resolver.sol", + "#utility.yul" + ] + }, + "methodIdentifiers": { + "version()": "54fd4d50" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"major\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"patch\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Create a new Semver instance.\",\"params\":{\"major\":\"Major version number.\",\"minor\":\"Minor version number.\",\"patch\":\"Patch version number.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"Semver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"A simple contract for managing contract versions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/Semver.sol\":\"Semver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]},\"EAS/Semver.sol\":{\"keccak256\":\"0xcb67b60a08b4acb41ccda1ee2a44bb3d4291f3da9ecd60eed49991bdbfafb972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eea3e91b983ce442be39c0a88c93627043d1c6de342be99562916a948a5933e3\",\"dweb:/ipfs/QmTFeE2vsjwn1pNeSMWAoQ4NivUTHza5DYMgJA854Ddx8F\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": { + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "notice": "A simple contract for managing contract versions.", + "version": 1 + } + } + }, + "ownable-resolver.sol": { + "OwnerRecipientResolver": { + "abi": [ + { + "inputs": [ + { + "internalType": "contract IEAS", + "name": "eas", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AccessDenied", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientValue", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidEAS", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidLength", + "type": "error" + }, + { + "inputs": [], + "name": "NotPayable", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "attest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isPayable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiAttest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiRevoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "revoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "params": { + "attestation": "The new attestation." + }, + "returns": { + "_0": "Whether the attestation is valid." + } + }, + "isPayable()": { + "returns": { + "_0": "Whether the resolver supports ETH transfers." + } + }, + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "params": { + "attestations": "The new attestations.", + "values": "Explicit ETH amounts which were sent with each attestation." + }, + "returns": { + "_0": "Whether all the attestations are valid." + } + }, + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "params": { + "attestations": "The existing attestations to be revoked.", + "values": "Explicit ETH amounts which were sent with each revocation." + }, + "returns": { + "_0": "Whether the attestations can be revoked." + } + }, + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "params": { + "attestation": "The existing attestation to be revoked." + }, + "returns": { + "_0": "Whether the attestation can be revoked." + } + }, + "version()": { + "returns": { + "_0": "Semver contract version as a string." + } + } + }, + "title": "A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient.", + "version": 1 + }, + "evm": { + "assembly": " /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\n mstore(0x40, 0x0100)\n /* \"ownable-resolver.sol\":400:444 constructor(IEAS eas) SchemaResolver(eas) {} */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"ownable-resolver.sol\":437:440 eas */\n dup1\n /* \"EAS/SchemaResolver.sol\":676:677 1 */\n 0x01\n /* \"EAS/SchemaResolver.sol\":679:680 3 */\n 0x03\n /* \"EAS/SchemaResolver.sol\":682:683 0 */\n 0x00\n /* \"EAS/Semver.sol\":768:773 major */\n dup3\n /* \"EAS/Semver.sol\":759:773 _major = major */\n 0x80\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":792:797 minor */\n dup2\n /* \"EAS/Semver.sol\":783:797 _minor = minor */\n 0xa0\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":816:821 patch */\n dup1\n /* \"EAS/Semver.sol\":807:821 _patch = patch */\n 0xc0\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":692:828 constructor(uint256 major, uint256 minor, uint256 patch) {... */\n pop\n pop\n pop\n /* \"EAS/SchemaResolver.sol\":723:724 0 */\n 0x00\n /* \"EAS/SchemaResolver.sol\":699:725 address(eas) == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"EAS/SchemaResolver.sol\":707:710 eas */\n dup2\n /* \"EAS/SchemaResolver.sol\":699:725 address(eas) == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"EAS/SchemaResolver.sol\":695:771 if (address(eas) == address(0)) {... */\n tag_9\n jumpi\n /* \"EAS/SchemaResolver.sol\":748:760 InvalidEAS() */\n mload(0x40)\n 0x83780ffe00000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":695:771 if (address(eas) == address(0)) {... */\ntag_9:\n /* \"EAS/SchemaResolver.sol\":788:791 eas */\n dup1\n /* \"EAS/SchemaResolver.sol\":781:791 _eas = eas */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xe0\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"EAS/SchemaResolver.sol\":647:798 constructor(IEAS eas) Semver(1, 3, 0) {... */\n pop\n /* \"ownable-resolver.sol\":400:444 constructor(IEAS eas) SchemaResolver(eas) {} */\n pop\n /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\n jump(tag_11)\n /* \"#utility.yul\":88:205 */\ntag_13:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\ntag_15:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\ntag_16:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_26\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_15\n jump\t// in\ntag_26:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:677 */\ntag_17:\n /* \"#utility.yul\":618:625 */\n 0x00\n /* \"#utility.yul\":647:671 */\n tag_28\n /* \"#utility.yul\":665:670 */\n dup3\n /* \"#utility.yul\":647:671 */\n tag_16\n jump\t// in\ntag_28:\n /* \"#utility.yul\":636:671 */\n swap1\n pop\n /* \"#utility.yul\":568:677 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":683:831 */\ntag_18:\n /* \"#utility.yul\":769:806 */\n tag_30\n /* \"#utility.yul\":800:805 */\n dup2\n /* \"#utility.yul\":769:806 */\n tag_17\n jump\t// in\ntag_30:\n /* \"#utility.yul\":762:767 */\n dup2\n /* \"#utility.yul\":759:807 */\n eq\n /* \"#utility.yul\":749:825 */\n tag_31\n jumpi\n /* \"#utility.yul\":821:822 */\n 0x00\n /* \"#utility.yul\":818:819 */\n dup1\n /* \"#utility.yul\":811:823 */\n revert\n /* \"#utility.yul\":749:825 */\ntag_31:\n /* \"#utility.yul\":683:831 */\n pop\n jump\t// out\n /* \"#utility.yul\":837:1006 */\ntag_19:\n /* \"#utility.yul\":907:912 */\n 0x00\n /* \"#utility.yul\":938:944 */\n dup2\n /* \"#utility.yul\":932:945 */\n mload\n /* \"#utility.yul\":923:945 */\n swap1\n pop\n /* \"#utility.yul\":954:1000 */\n tag_33\n /* \"#utility.yul\":994:999 */\n dup2\n /* \"#utility.yul\":954:1000 */\n tag_18\n jump\t// in\ntag_33:\n /* \"#utility.yul\":837:1006 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1012:1389 */\ntag_3:\n /* \"#utility.yul\":1095:1101 */\n 0x00\n /* \"#utility.yul\":1144:1146 */\n 0x20\n /* \"#utility.yul\":1132:1141 */\n dup3\n /* \"#utility.yul\":1123:1130 */\n dup5\n /* \"#utility.yul\":1119:1142 */\n sub\n /* \"#utility.yul\":1115:1147 */\n slt\n /* \"#utility.yul\":1112:1231 */\n iszero\n tag_35\n jumpi\n /* \"#utility.yul\":1150:1229 */\n tag_36\n tag_13\n jump\t// in\ntag_36:\n /* \"#utility.yul\":1112:1231 */\ntag_35:\n /* \"#utility.yul\":1270:1271 */\n 0x00\n /* \"#utility.yul\":1295:1372 */\n tag_37\n /* \"#utility.yul\":1364:1371 */\n dup5\n /* \"#utility.yul\":1355:1361 */\n dup3\n /* \"#utility.yul\":1344:1353 */\n dup6\n /* \"#utility.yul\":1340:1362 */\n add\n /* \"#utility.yul\":1295:1372 */\n tag_19\n jump\t// in\ntag_37:\n /* \"#utility.yul\":1285:1372 */\n swap2\n pop\n /* \"#utility.yul\":1241:1382 */\n pop\n /* \"#utility.yul\":1012:1389 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\ntag_11:\n mload(0x80)\n mload(0xa0)\n mload(0xc0)\n mload(0xe0)\n codecopy(0x00, dataOffset(sub_0), dataSize(sub_0))\n 0x00\n assignImmutable(\"0xc775df1a7e57e4ddca9708a57c092ca399c892894e875f640af011da3d066949\")\n 0x00\n assignImmutable(\"0xb264290b39caa425e41c2393e10056c6bf6aefcb7750f619dd0d6dd4d035e225\")\n 0x00\n assignImmutable(\"0x4898df15ec6590495dc6c0fedf951ade3e64001d47f9caf44a64e86fc11959df\")\n 0x00\n assignImmutable(\"0x08b2c4590c6811ffb7cb8659cd18fb3368dba395a633f764dbf449be06307fe1\")\n return(0x00, dataSize(sub_0))\nstop\n\nsub_0: assembly {\n /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x54fd4d50\n eq\n tag_3\n jumpi\n dup1\n 0x88e5b2d9\n eq\n tag_4\n jumpi\n dup1\n 0x91db0b7e\n eq\n tag_5\n jumpi\n dup1\n 0xce46e046\n eq\n tag_6\n jumpi\n dup1\n 0xe49617e1\n eq\n tag_7\n jumpi\n dup1\n 0xe60c3505\n eq\n tag_8\n jumpi\n jump(tag_2)\n tag_1:\n jumpi(tag_2, calldatasize)\n /* \"EAS/SchemaResolver.sol\":1140:1151 isPayable() */\n tag_11\n /* \"EAS/SchemaResolver.sol\":1140:1149 isPayable */\n tag_12\n /* \"EAS/SchemaResolver.sol\":1140:1151 isPayable() */\n jump\t// in\n tag_11:\n /* \"EAS/SchemaResolver.sol\":1135:1197 if (!isPayable()) {... */\n tag_13\n jumpi\n /* \"EAS/SchemaResolver.sol\":1174:1186 NotPayable() */\n mload(0x40)\n 0x1574f9f300000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":1135:1197 if (!isPayable()) {... */\n tag_13:\n /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\n stop\n tag_2:\n 0x00\n dup1\n revert\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_14\n jumpi\n 0x00\n dup1\n revert\n tag_14:\n pop\n tag_15\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":3124:4584 function multiRevoke(... */\n tag_4:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n mload(0x40)\n tag_23\n swap2\n swap1\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":1433:2894 function multiAttest(... */\n tag_5:\n tag_25\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_26\n swap2\n swap1\n tag_21\n jump\t// in\n tag_26:\n tag_27\n jump\t// in\n tag_25:\n mload(0x40)\n tag_28\n swap2\n swap1\n tag_24\n jump\t// in\n tag_28:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":972:1057 function isPayable() public pure virtual returns (bool) {... */\n tag_6:\n callvalue\n dup1\n iszero\n tag_29\n jumpi\n 0x00\n dup1\n revert\n tag_29:\n pop\n tag_30\n tag_12\n jump\t// in\n tag_30:\n mload(0x40)\n tag_31\n swap2\n swap1\n tag_24\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":2936:3082 function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n tag_7:\n tag_32\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_33\n swap2\n swap1\n tag_34\n jump\t// in\n tag_33:\n tag_35\n jump\t// in\n tag_32:\n mload(0x40)\n tag_36\n swap2\n swap1\n tag_24\n jump\t// in\n tag_36:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":1245:1391 function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n tag_8:\n tag_37\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_38\n swap2\n swap1\n tag_34\n jump\t// in\n tag_38:\n tag_39\n jump\t// in\n tag_37:\n mload(0x40)\n tag_40\n swap2\n swap1\n tag_24\n jump\t// in\n tag_40:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":972:1057 function isPayable() public pure virtual returns (bool) {... */\n tag_12:\n /* \"EAS/SchemaResolver.sol\":1022:1026 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":972:1057 function isPayable() public pure virtual returns (bool) {... */\n swap1\n jump\t// out\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n tag_16:\n /* \"EAS/Semver.sol\":987:1000 string memory */\n 0x60\n /* \"EAS/Semver.sol\":1072:1096 Strings.toString(_major) */\n tag_43\n /* \"EAS/Semver.sol\":1089:1095 _major */\n immutable(\"0x08b2c4590c6811ffb7cb8659cd18fb3368dba395a633f764dbf449be06307fe1\")\n /* \"EAS/Semver.sol\":1072:1088 Strings.toString */\n tag_44\n /* \"EAS/Semver.sol\":1072:1096 Strings.toString(_major) */\n jump\t// in\n tag_43:\n /* \"EAS/Semver.sol\":1103:1127 Strings.toString(_minor) */\n tag_45\n /* \"EAS/Semver.sol\":1120:1126 _minor */\n immutable(\"0x4898df15ec6590495dc6c0fedf951ade3e64001d47f9caf44a64e86fc11959df\")\n /* \"EAS/Semver.sol\":1103:1119 Strings.toString */\n tag_44\n /* \"EAS/Semver.sol\":1103:1127 Strings.toString(_minor) */\n jump\t// in\n tag_45:\n /* \"EAS/Semver.sol\":1134:1158 Strings.toString(_patch) */\n tag_46\n /* \"EAS/Semver.sol\":1151:1157 _patch */\n immutable(\"0xb264290b39caa425e41c2393e10056c6bf6aefcb7750f619dd0d6dd4d035e225\")\n /* \"EAS/Semver.sol\":1134:1150 Strings.toString */\n tag_44\n /* \"EAS/Semver.sol\":1134:1158 Strings.toString(_patch) */\n jump\t// in\n tag_46:\n /* \"EAS/Semver.sol\":1055:1159 abi.encodePacked(Strings.toString(_major), \".\", Strings.toString(_minor), \".\", Strings.toString(_patch)) */\n add(0x20, mload(0x40))\n tag_47\n swap4\n swap3\n swap2\n swap1\n tag_48\n jump\t// in\n tag_47:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"EAS/Semver.sol\":1012:1173 return... */\n swap1\n pop\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n swap1\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":3124:4584 function multiRevoke(... */\n tag_22:\n /* \"EAS/SchemaResolver.sol\":3265:3269 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n tag_50\n /* \"EAS/SchemaResolver.sol\":901:909 _onlyEAS */\n tag_51\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n jump\t// in\n tag_50:\n /* \"EAS/SchemaResolver.sol\":3281:3295 uint256 length */\n 0x00\n /* \"EAS/SchemaResolver.sol\":3298:3310 attestations */\n dup6\n dup6\n /* \"EAS/SchemaResolver.sol\":3298:3317 attestations.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3281:3317 uint256 length = attestations.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3341:3347 values */\n dup4\n dup4\n /* \"EAS/SchemaResolver.sol\":3341:3354 values.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3331:3337 length */\n dup2\n /* \"EAS/SchemaResolver.sol\":3331:3354 length != values.length */\n eq\n /* \"EAS/SchemaResolver.sol\":3327:3403 if (length != values.length) {... */\n tag_53\n jumpi\n /* \"EAS/SchemaResolver.sol\":3377:3392 InvalidLength() */\n mload(0x40)\n 0x947d5a8400000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":3327:3403 if (length != values.length) {... */\n tag_53:\n /* \"EAS/SchemaResolver.sol\":3810:3832 uint256 remainingValue */\n 0x00\n /* \"EAS/SchemaResolver.sol\":3835:3844 msg.value */\n callvalue\n /* \"EAS/SchemaResolver.sol\":3810:3844 uint256 remainingValue = msg.value */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3860:3869 uint256 i */\n 0x00\n /* \"EAS/SchemaResolver.sol\":3855:4556 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n tag_54:\n /* \"EAS/SchemaResolver.sol\":3879:3885 length */\n dup3\n /* \"EAS/SchemaResolver.sol\":3875:3876 i */\n dup2\n /* \"EAS/SchemaResolver.sol\":3875:3885 i < length */\n lt\n /* \"EAS/SchemaResolver.sol\":3855:4556 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n iszero\n tag_55\n jumpi\n /* \"EAS/SchemaResolver.sol\":4012:4025 uint256 value */\n 0x00\n /* \"EAS/SchemaResolver.sol\":4028:4034 values */\n dup7\n dup7\n /* \"EAS/SchemaResolver.sol\":4035:4036 i */\n dup4\n /* \"EAS/SchemaResolver.sol\":4028:4037 values[i] */\n dup2\n dup2\n lt\n tag_57\n jumpi\n tag_58\n tag_59\n jump\t// in\n tag_58:\n tag_57:\n swap1\n pop\n 0x20\n mul\n add\n calldataload\n /* \"EAS/SchemaResolver.sol\":4012:4037 uint256 value = values[i] */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":4063:4077 remainingValue */\n dup3\n /* \"EAS/SchemaResolver.sol\":4055:4060 value */\n dup2\n /* \"EAS/SchemaResolver.sol\":4055:4077 value > remainingValue */\n gt\n /* \"EAS/SchemaResolver.sol\":4051:4138 if (value > remainingValue) {... */\n iszero\n tag_60\n jumpi\n /* \"EAS/SchemaResolver.sol\":4104:4123 InsufficientValue() */\n mload(0x40)\n 0x1101129400000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":4051:4138 if (value > remainingValue) {... */\n tag_60:\n /* \"EAS/SchemaResolver.sol\":4266:4298 onRevoke(attestations[i], value) */\n tag_61\n /* \"EAS/SchemaResolver.sol\":4275:4287 attestations */\n dup10\n dup10\n /* \"EAS/SchemaResolver.sol\":4288:4289 i */\n dup5\n /* \"EAS/SchemaResolver.sol\":4275:4290 attestations[i] */\n dup2\n dup2\n lt\n tag_62\n jumpi\n tag_63\n tag_59\n jump\t// in\n tag_63:\n tag_62:\n swap1\n pop\n 0x20\n mul\n dup2\n add\n swap1\n tag_64\n swap2\n swap1\n tag_65\n jump\t// in\n tag_64:\n /* \"EAS/SchemaResolver.sol\":4292:4297 value */\n dup3\n /* \"EAS/SchemaResolver.sol\":4266:4274 onRevoke */\n tag_66\n /* \"EAS/SchemaResolver.sol\":4266:4298 onRevoke(attestations[i], value) */\n jump\t// in\n tag_61:\n /* \"EAS/SchemaResolver.sol\":4261:4345 if (!onRevoke(attestations[i], value)) {... */\n tag_67\n jumpi\n /* \"EAS/SchemaResolver.sol\":4325:4330 false */\n 0x00\n /* \"EAS/SchemaResolver.sol\":4318:4330 return false */\n swap5\n pop\n pop\n pop\n pop\n pop\n jump(tag_52)\n /* \"EAS/SchemaResolver.sol\":4261:4345 if (!onRevoke(attestations[i], value)) {... */\n tag_67:\n /* \"EAS/SchemaResolver.sol\":4526:4531 value */\n dup1\n /* \"EAS/SchemaResolver.sol\":4508:4531 remainingValue -= value */\n dup4\n sub\n swap3\n pop\n /* \"EAS/SchemaResolver.sol\":3908:4556 {... */\n pop\n /* \"EAS/SchemaResolver.sol\":3891:3906 uncheckedInc(i) */\n tag_68\n /* \"EAS/SchemaResolver.sol\":3904:3905 i */\n dup2\n /* \"EAS/SchemaResolver.sol\":3891:3903 uncheckedInc */\n tag_69\n /* \"EAS/SchemaResolver.sol\":3891:3906 uncheckedInc(i) */\n jump\t// in\n tag_68:\n /* \"EAS/SchemaResolver.sol\":3887:3906 i = uncheckedInc(i) */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3855:4556 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n jump(tag_54)\n tag_55:\n pop\n /* \"EAS/SchemaResolver.sol\":4573:4577 true */\n 0x01\n /* \"EAS/SchemaResolver.sol\":4566:4577 return true */\n swap3\n pop\n pop\n pop\n /* \"EAS/SchemaResolver.sol\":922:923 _ */\n tag_52:\n /* \"EAS/SchemaResolver.sol\":3124:4584 function multiRevoke(... */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":1433:2894 function multiAttest(... */\n tag_27:\n /* \"EAS/SchemaResolver.sol\":1574:1578 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n tag_71\n /* \"EAS/SchemaResolver.sol\":901:909 _onlyEAS */\n tag_51\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n jump\t// in\n tag_71:\n /* \"EAS/SchemaResolver.sol\":1590:1604 uint256 length */\n 0x00\n /* \"EAS/SchemaResolver.sol\":1607:1619 attestations */\n dup6\n dup6\n /* \"EAS/SchemaResolver.sol\":1607:1626 attestations.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":1590:1626 uint256 length = attestations.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":1650:1656 values */\n dup4\n dup4\n /* \"EAS/SchemaResolver.sol\":1650:1663 values.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":1640:1646 length */\n dup2\n /* \"EAS/SchemaResolver.sol\":1640:1663 length != values.length */\n eq\n /* \"EAS/SchemaResolver.sol\":1636:1712 if (length != values.length) {... */\n tag_73\n jumpi\n /* \"EAS/SchemaResolver.sol\":1686:1701 InvalidLength() */\n mload(0x40)\n 0x947d5a8400000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":1636:1712 if (length != values.length) {... */\n tag_73:\n /* \"EAS/SchemaResolver.sol\":2119:2141 uint256 remainingValue */\n 0x00\n /* \"EAS/SchemaResolver.sol\":2144:2153 msg.value */\n callvalue\n /* \"EAS/SchemaResolver.sol\":2119:2153 uint256 remainingValue = msg.value */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":2169:2178 uint256 i */\n 0x00\n /* \"EAS/SchemaResolver.sol\":2164:2866 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n tag_74:\n /* \"EAS/SchemaResolver.sol\":2188:2194 length */\n dup3\n /* \"EAS/SchemaResolver.sol\":2184:2185 i */\n dup2\n /* \"EAS/SchemaResolver.sol\":2184:2194 i < length */\n lt\n /* \"EAS/SchemaResolver.sol\":2164:2866 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n iszero\n tag_75\n jumpi\n /* \"EAS/SchemaResolver.sol\":2321:2334 uint256 value */\n 0x00\n /* \"EAS/SchemaResolver.sol\":2337:2343 values */\n dup7\n dup7\n /* \"EAS/SchemaResolver.sol\":2344:2345 i */\n dup4\n /* \"EAS/SchemaResolver.sol\":2337:2346 values[i] */\n dup2\n dup2\n lt\n tag_77\n jumpi\n tag_78\n tag_59\n jump\t// in\n tag_78:\n tag_77:\n swap1\n pop\n 0x20\n mul\n add\n calldataload\n /* \"EAS/SchemaResolver.sol\":2321:2346 uint256 value = values[i] */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":2372:2386 remainingValue */\n dup3\n /* \"EAS/SchemaResolver.sol\":2364:2369 value */\n dup2\n /* \"EAS/SchemaResolver.sol\":2364:2386 value > remainingValue */\n gt\n /* \"EAS/SchemaResolver.sol\":2360:2447 if (value > remainingValue) {... */\n iszero\n tag_79\n jumpi\n /* \"EAS/SchemaResolver.sol\":2413:2432 InsufficientValue() */\n mload(0x40)\n 0x1101129400000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":2360:2447 if (value > remainingValue) {... */\n tag_79:\n /* \"EAS/SchemaResolver.sol\":2576:2608 onAttest(attestations[i], value) */\n tag_80\n /* \"EAS/SchemaResolver.sol\":2585:2597 attestations */\n dup10\n dup10\n /* \"EAS/SchemaResolver.sol\":2598:2599 i */\n dup5\n /* \"EAS/SchemaResolver.sol\":2585:2600 attestations[i] */\n dup2\n dup2\n lt\n tag_81\n jumpi\n tag_82\n tag_59\n jump\t// in\n tag_82:\n tag_81:\n swap1\n pop\n 0x20\n mul\n dup2\n add\n swap1\n tag_83\n swap2\n swap1\n tag_65\n jump\t// in\n tag_83:\n /* \"EAS/SchemaResolver.sol\":2602:2607 value */\n dup3\n /* \"EAS/SchemaResolver.sol\":2576:2584 onAttest */\n tag_84\n /* \"EAS/SchemaResolver.sol\":2576:2608 onAttest(attestations[i], value) */\n jump\t// in\n tag_80:\n /* \"EAS/SchemaResolver.sol\":2571:2655 if (!onAttest(attestations[i], value)) {... */\n tag_85\n jumpi\n /* \"EAS/SchemaResolver.sol\":2635:2640 false */\n 0x00\n /* \"EAS/SchemaResolver.sol\":2628:2640 return false */\n swap5\n pop\n pop\n pop\n pop\n pop\n jump(tag_72)\n /* \"EAS/SchemaResolver.sol\":2571:2655 if (!onAttest(attestations[i], value)) {... */\n tag_85:\n /* \"EAS/SchemaResolver.sol\":2836:2841 value */\n dup1\n /* \"EAS/SchemaResolver.sol\":2818:2841 remainingValue -= value */\n dup4\n sub\n swap3\n pop\n /* \"EAS/SchemaResolver.sol\":2217:2866 {... */\n pop\n /* \"EAS/SchemaResolver.sol\":2200:2215 uncheckedInc(i) */\n tag_86\n /* \"EAS/SchemaResolver.sol\":2213:2214 i */\n dup2\n /* \"EAS/SchemaResolver.sol\":2200:2212 uncheckedInc */\n tag_69\n /* \"EAS/SchemaResolver.sol\":2200:2215 uncheckedInc(i) */\n jump\t// in\n tag_86:\n /* \"EAS/SchemaResolver.sol\":2196:2215 i = uncheckedInc(i) */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":2164:2866 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n jump(tag_74)\n tag_75:\n pop\n /* \"EAS/SchemaResolver.sol\":2883:2887 true */\n 0x01\n /* \"EAS/SchemaResolver.sol\":2876:2887 return true */\n swap3\n pop\n pop\n pop\n /* \"EAS/SchemaResolver.sol\":922:923 _ */\n tag_72:\n /* \"EAS/SchemaResolver.sol\":1433:2894 function multiAttest(... */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":2936:3082 function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n tag_35:\n /* \"EAS/SchemaResolver.sol\":3020:3024 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n tag_88\n /* \"EAS/SchemaResolver.sol\":901:909 _onlyEAS */\n tag_51\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n jump\t// in\n tag_88:\n /* \"EAS/SchemaResolver.sol\":3043:3075 onRevoke(attestation, msg.value) */\n tag_90\n /* \"EAS/SchemaResolver.sol\":3052:3063 attestation */\n dup3\n /* \"EAS/SchemaResolver.sol\":3065:3074 msg.value */\n callvalue\n /* \"EAS/SchemaResolver.sol\":3043:3051 onRevoke */\n tag_66\n /* \"EAS/SchemaResolver.sol\":3043:3075 onRevoke(attestation, msg.value) */\n jump\t// in\n tag_90:\n /* \"EAS/SchemaResolver.sol\":3036:3075 return onRevoke(attestation, msg.value) */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":2936:3082 function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":1245:1391 function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n tag_39:\n /* \"EAS/SchemaResolver.sol\":1329:1333 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n tag_92\n /* \"EAS/SchemaResolver.sol\":901:909 _onlyEAS */\n tag_51\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n jump\t// in\n tag_92:\n /* \"EAS/SchemaResolver.sol\":1352:1384 onAttest(attestation, msg.value) */\n tag_94\n /* \"EAS/SchemaResolver.sol\":1361:1372 attestation */\n dup3\n /* \"EAS/SchemaResolver.sol\":1374:1383 msg.value */\n callvalue\n /* \"EAS/SchemaResolver.sol\":1352:1360 onAttest */\n tag_84\n /* \"EAS/SchemaResolver.sol\":1352:1384 onAttest(attestation, msg.value) */\n jump\t// in\n tag_94:\n /* \"EAS/SchemaResolver.sol\":1345:1384 return onAttest(attestation, msg.value) */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":1245:1391 function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Strings.sol\":637:1335 function toString(uint256 value) internal pure returns (string memory) {... */\n tag_44:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":693:706 string memory */\n 0x60\n /* \"@openzeppelin/contracts/utils/Strings.sol\":742:756 uint256 length */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":779:780 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:776 Math.log10(value) */\n tag_96\n /* \"@openzeppelin/contracts/utils/Strings.sol\":770:775 value */\n dup5\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:769 Math.log10 */\n tag_97\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:776 Math.log10(value) */\n jump\t// in\n tag_96:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:780 Math.log10(value) + 1 */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":742:780 uint256 length = Math.log10(value) + 1 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":794:814 string memory buffer */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":828:834 length */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":817:835 new string(length) */\n 0xffffffffffffffff\n dup2\n gt\n iszero\n tag_98\n jumpi\n tag_99\n tag_100\n jump\t// in\n tag_99:\n tag_98:\n mload(0x40)\n swap1\n dup1\n dup3\n mstore\n dup1\n 0x1f\n add\n not(0x1f)\n and\n 0x20\n add\n dup3\n add\n 0x40\n mstore\n dup1\n iszero\n tag_101\n jumpi\n dup2\n 0x20\n add\n 0x01\n dup3\n mul\n dup1\n calldatasize\n dup4\n calldatacopy\n dup1\n dup3\n add\n swap2\n pop\n pop\n swap1\n pop\n tag_101:\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":794:835 string memory buffer = new string(length) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":849:860 uint256 ptr */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":975:981 length */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":971:973 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/Strings.sol\":967:982 add(32, length) */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":959:965 buffer */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":955:983 add(buffer, add(32, length)) */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":948:983 ptr := add(buffer, add(32, length)) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_102:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1017:1021 true */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n iszero\n tag_103\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1041:1046 ptr-- */\n dup1\n dup1\n 0x01\n swap1\n sub\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1180:1190 HEX_DIGITS */\n 0x3031323334353637383961626364656600000000000000000000000000000000\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1175:1177 10 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1168:1173 value */\n dup7\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1164:1178 mod(value, 10) */\n mod\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1159:1191 byte(mod(value, 10), HEX_DIGITS) */\n byte\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1154:1157 ptr */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1146:1192 mstore8(ptr, byte(mod(value, 10), HEX_DIGITS)) */\n mstore8\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1236:1238 10 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1227:1238 value /= 10 */\n dup6\n dup2\n tag_104\n jumpi\n tag_105\n tag_106\n jump\t// in\n tag_105:\n tag_104:\n div\n swap5\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1269:1270 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1260:1265 value */\n dup6\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1260:1270 value == 0 */\n sub\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_102\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1256:1277 if (value == 0) break */\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_103:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1312:1318 buffer */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1305:1318 return buffer */\n swap4\n pop\n pop\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":637:1335 function toString(uint256 value) internal pure returns (string memory) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":6031:6159 function _onlyEAS() private view {... */\n tag_51:\n /* \"EAS/SchemaResolver.sol\":6100:6104 _eas */\n immutable(\"0xc775df1a7e57e4ddca9708a57c092ca399c892894e875f640af011da3d066949\")\n /* \"EAS/SchemaResolver.sol\":6078:6105 msg.sender != address(_eas) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"EAS/SchemaResolver.sol\":6078:6088 msg.sender */\n caller\n /* \"EAS/SchemaResolver.sol\":6078:6105 msg.sender != address(_eas) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"EAS/SchemaResolver.sol\":6074:6153 if (msg.sender != address(_eas)) {... */\n tag_109\n jumpi\n /* \"EAS/SchemaResolver.sol\":6128:6142 AccessDenied() */\n mload(0x40)\n 0x4ca8886700000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":6074:6153 if (msg.sender != address(_eas)) {... */\n tag_109:\n /* \"EAS/SchemaResolver.sol\":6031:6159 function _onlyEAS() private view {... */\n jump\t// out\n /* \"ownable-resolver.sol\":2268:2409 function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) {... */\n tag_66:\n /* \"ownable-resolver.sol\":2375:2379 bool */\n 0x00\n /* \"ownable-resolver.sol\":2398:2402 true */\n 0x01\n /* \"ownable-resolver.sol\":2391:2402 return true */\n swap1\n pop\n /* \"ownable-resolver.sol\":2268:2409 function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"EAS/Common.sol\":1397:1499 function uncheckedInc(uint256 i) pure returns (uint256 j) {... */\n tag_69:\n /* \"EAS/Common.sol\":1444:1453 uint256 j */\n 0x00\n /* \"EAS/Common.sol\":1489:1490 1 */\n 0x01\n /* \"EAS/Common.sol\":1485:1486 i */\n dup3\n /* \"EAS/Common.sol\":1485:1490 i + 1 */\n add\n /* \"EAS/Common.sol\":1481:1490 j = i + 1 */\n swap1\n pop\n /* \"EAS/Common.sol\":1397:1499 function uncheckedInc(uint256 i) pure returns (uint256 j) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"ownable-resolver.sol\":450:1642 function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) {... */\n tag_84:\n /* \"ownable-resolver.sol\":553:557 bool */\n 0x00\n /* \"ownable-resolver.sol\":697:698 0 */\n dup1\n /* \"ownable-resolver.sol\":664:699 attestation.recipient == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"ownable-resolver.sol\":664:675 attestation */\n dup4\n /* \"ownable-resolver.sol\":664:685 attestation.recipient */\n 0xc0\n add\n 0x20\n dup2\n add\n swap1\n tag_113\n swap2\n swap1\n tag_114\n jump\t// in\n tag_113:\n /* \"ownable-resolver.sol\":664:699 attestation.recipient == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"ownable-resolver.sol\":660:737 if (attestation.recipient == address(0)) {... */\n tag_115\n jumpi\n /* \"ownable-resolver.sol\":722:726 true */\n 0x01\n /* \"ownable-resolver.sol\":715:726 return true */\n swap1\n pop\n jump(tag_112)\n /* \"ownable-resolver.sol\":660:737 if (attestation.recipient == address(0)) {... */\n tag_115:\n /* \"ownable-resolver.sol\":848:849 0 */\n 0x00\n /* \"ownable-resolver.sol\":811:822 attestation */\n dup4\n /* \"ownable-resolver.sol\":811:832 attestation.recipient */\n 0xc0\n add\n 0x20\n dup2\n add\n swap1\n tag_116\n swap2\n swap1\n tag_114\n jump\t// in\n tag_116:\n /* \"ownable-resolver.sol\":811:844 attestation.recipient.code.length */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n extcodesize\n /* \"ownable-resolver.sol\":811:849 attestation.recipient.code.length == 0 */\n sub\n /* \"ownable-resolver.sol\":807:888 if (attestation.recipient.code.length == 0) {... */\n tag_117\n jumpi\n /* \"ownable-resolver.sol\":872:877 false */\n 0x00\n /* \"ownable-resolver.sol\":865:877 return false */\n swap1\n pop\n jump(tag_112)\n /* \"ownable-resolver.sol\":807:888 if (attestation.recipient.code.length == 0) {... */\n tag_117:\n /* \"ownable-resolver.sol\":954:970 address _address */\n 0x00\n /* \"ownable-resolver.sol\":973:1013 extractAddressFromData(attestation.data) */\n tag_118\n /* \"ownable-resolver.sol\":996:1007 attestation */\n dup5\n /* \"ownable-resolver.sol\":996:1012 attestation.data */\n dup1\n 0x0120\n add\n swap1\n tag_119\n swap2\n swap1\n tag_120\n jump\t// in\n tag_119:\n /* \"ownable-resolver.sol\":973:1013 extractAddressFromData(attestation.data) */\n dup1\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap4\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup4\n dup4\n dup1\n dup3\n dup5\n calldatacopy\n 0x00\n dup2\n dup5\n add\n mstore\n not(0x1f)\n 0x1f\n dup3\n add\n and\n swap1\n pop\n dup1\n dup4\n add\n swap3\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n /* \"ownable-resolver.sol\":973:995 extractAddressFromData */\n tag_121\n /* \"ownable-resolver.sol\":973:1013 extractAddressFromData(attestation.data) */\n jump\t// in\n tag_118:\n /* \"ownable-resolver.sol\":954:1013 address _address = extractAddressFromData(attestation.data) */\n swap1\n pop\n /* \"ownable-resolver.sol\":1153:1161 _address */\n dup1\n /* \"ownable-resolver.sol\":1128:1161 attestation.recipient != _address */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"ownable-resolver.sol\":1128:1139 attestation */\n dup5\n /* \"ownable-resolver.sol\":1128:1149 attestation.recipient */\n 0xc0\n add\n 0x20\n dup2\n add\n swap1\n tag_122\n swap2\n swap1\n tag_114\n jump\t// in\n tag_122:\n /* \"ownable-resolver.sol\":1128:1161 attestation.recipient != _address */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"ownable-resolver.sol\":1124:1200 if (attestation.recipient != _address) {... */\n tag_123\n jumpi\n /* \"ownable-resolver.sol\":1184:1189 false */\n 0x00\n /* \"ownable-resolver.sol\":1177:1189 return false */\n swap2\n pop\n pop\n jump(tag_112)\n /* \"ownable-resolver.sol\":1124:1200 if (attestation.recipient != _address) {... */\n tag_123:\n /* \"ownable-resolver.sol\":1266:1289 Ownable ownableContract */\n 0x00\n /* \"ownable-resolver.sol\":1300:1311 attestation */\n dup5\n /* \"ownable-resolver.sol\":1300:1321 attestation.recipient */\n 0xc0\n add\n 0x20\n dup2\n add\n swap1\n tag_124\n swap2\n swap1\n tag_114\n jump\t// in\n tag_124:\n /* \"ownable-resolver.sol\":1266:1322 Ownable ownableContract = Ownable(attestation.recipient) */\n swap1\n pop\n /* \"ownable-resolver.sol\":1337:1352 ownableContract */\n dup1\n /* \"ownable-resolver.sol\":1337:1358 ownableContract.owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8da5cb5b\n /* \"ownable-resolver.sol\":1337:1360 ownableContract.owner() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n swap3\n pop\n pop\n pop\n dup1\n iszero\n tag_125\n jumpi\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_126\n swap2\n swap1\n tag_127\n jump\t// in\n tag_126:\n 0x01\n tag_125:\n /* \"ownable-resolver.sol\":1333:1636 try ownableContract.owner() returns (address owner) {... */\n tag_128\n jumpi\n /* \"ownable-resolver.sol\":1620:1625 false */\n 0x00\n /* \"ownable-resolver.sol\":1613:1625 return false */\n swap3\n pop\n pop\n pop\n jump(tag_112)\n /* \"ownable-resolver.sol\":1333:1636 try ownableContract.owner() returns (address owner) {... */\n tag_128:\n /* \"ownable-resolver.sol\":1494:1499 owner */\n dup1\n /* \"ownable-resolver.sol\":1470:1499 attestation.attester == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"ownable-resolver.sol\":1470:1481 attestation */\n dup7\n /* \"ownable-resolver.sol\":1470:1490 attestation.attester */\n 0xe0\n add\n 0x20\n dup2\n add\n swap1\n tag_133\n swap2\n swap1\n tag_114\n jump\t// in\n tag_133:\n /* \"ownable-resolver.sol\":1470:1499 attestation.attester == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"ownable-resolver.sol\":1463:1499 return attestation.attester == owner */\n swap4\n pop\n pop\n pop\n pop\n /* \"ownable-resolver.sol\":450:1642 function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) {... */\n tag_112:\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12214:13130 function log10(uint256 value) internal pure returns (uint256) {... */\n tag_97:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12267:12274 uint256 */\n 0x00\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12286:12300 uint256 result */\n dup1\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12303:12304 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12286:12304 uint256 result = 0 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12351:12359 10 ** 64 */\n 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12342:12347 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12342:12359 value >= 10 ** 64 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12338:12441 if (value >= 10 ** 64) {... */\n tag_135\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12388:12396 10 ** 64 */\n 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12379:12396 value /= 10 ** 64 */\n dup4\n dup2\n tag_136\n jumpi\n tag_137\n tag_106\n jump\t// in\n tag_137:\n tag_136:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12424:12426 64 */\n 0x40\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12414:12426 result += 64 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12338:12441 if (value >= 10 ** 64) {... */\n tag_135:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12467:12475 10 ** 32 */\n 0x04ee2d6d415b85acef8100000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12458:12463 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12458:12475 value >= 10 ** 32 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12454:12557 if (value >= 10 ** 32) {... */\n tag_138\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12504:12512 10 ** 32 */\n 0x04ee2d6d415b85acef8100000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12495:12512 value /= 10 ** 32 */\n dup4\n dup2\n tag_139\n jumpi\n tag_140\n tag_106\n jump\t// in\n tag_140:\n tag_139:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12540:12542 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12530:12542 result += 32 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12454:12557 if (value >= 10 ** 32) {... */\n tag_138:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12583:12591 10 ** 16 */\n 0x2386f26fc10000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12574:12579 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12574:12591 value >= 10 ** 16 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12570:12673 if (value >= 10 ** 16) {... */\n tag_141\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12620:12628 10 ** 16 */\n 0x2386f26fc10000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12611:12628 value /= 10 ** 16 */\n dup4\n dup2\n tag_142\n jumpi\n tag_143\n tag_106\n jump\t// in\n tag_143:\n tag_142:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12656:12658 16 */\n 0x10\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12646:12658 result += 16 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12570:12673 if (value >= 10 ** 16) {... */\n tag_141:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12699:12706 10 ** 8 */\n 0x05f5e100\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12690:12695 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12690:12706 value >= 10 ** 8 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12686:12786 if (value >= 10 ** 8) {... */\n tag_144\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12735:12742 10 ** 8 */\n 0x05f5e100\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12726:12742 value /= 10 ** 8 */\n dup4\n dup2\n tag_145\n jumpi\n tag_146\n tag_106\n jump\t// in\n tag_146:\n tag_145:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12770:12771 8 */\n 0x08\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12760:12771 result += 8 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12686:12786 if (value >= 10 ** 8) {... */\n tag_144:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12812:12819 10 ** 4 */\n 0x2710\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12803:12808 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12803:12819 value >= 10 ** 4 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12799:12899 if (value >= 10 ** 4) {... */\n tag_147\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12848:12855 10 ** 4 */\n 0x2710\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12839:12855 value /= 10 ** 4 */\n dup4\n dup2\n tag_148\n jumpi\n tag_149\n tag_106\n jump\t// in\n tag_149:\n tag_148:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12883:12884 4 */\n 0x04\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12873:12884 result += 4 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12799:12899 if (value >= 10 ** 4) {... */\n tag_147:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12925:12932 10 ** 2 */\n 0x64\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12916:12921 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12916:12932 value >= 10 ** 2 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12912:13012 if (value >= 10 ** 2) {... */\n tag_150\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12961:12968 10 ** 2 */\n 0x64\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12952:12968 value /= 10 ** 2 */\n dup4\n dup2\n tag_151\n jumpi\n tag_152\n tag_106\n jump\t// in\n tag_152:\n tag_151:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12996:12997 2 */\n 0x02\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12986:12997 result += 2 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12912:13012 if (value >= 10 ** 2) {... */\n tag_150:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13038:13045 10 ** 1 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13029:13034 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13029:13045 value >= 10 ** 1 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13025:13091 if (value >= 10 ** 1) {... */\n tag_153\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13075:13076 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13065:13076 result += 1 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13025:13091 if (value >= 10 ** 1) {... */\n tag_153:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13117:13123 result */\n dup1\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13110:13123 return result */\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12214:13130 function log10(uint256 value) internal pure returns (uint256) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"ownable-resolver.sol\":1648:2261 function extractAddressFromData(bytes memory data) internal pure returns (address) {... */\n tag_121:\n /* \"ownable-resolver.sol\":1722:1729 address */\n 0x00\n /* \"ownable-resolver.sol\":1764:1766 32 */\n 0x20\n /* \"ownable-resolver.sol\":1749:1753 data */\n dup3\n /* \"ownable-resolver.sol\":1749:1760 data.length */\n mload\n /* \"ownable-resolver.sol\":1749:1766 data.length >= 32 */\n lt\n iszero\n /* \"ownable-resolver.sol\":1741:1785 require(data.length >= 32, \"Data too short\") */\n tag_155\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_156\n swap1\n tag_157\n jump\t// in\n tag_156:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_155:\n /* \"ownable-resolver.sol\":1897:1921 address extractedAddress */\n 0x00\n /* \"ownable-resolver.sol\":1990:1992 32 */\n 0x20\n /* \"ownable-resolver.sol\":1984:1988 data */\n dup4\n /* \"ownable-resolver.sol\":1980:1993 add(data, 32) */\n add\n /* \"ownable-resolver.sol\":1974:1994 mload(add(data, 32)) */\n mload\n /* \"ownable-resolver.sol\":1954:1994 extractedAddress := mload(add(data, 32)) */\n swap1\n pop\n /* \"ownable-resolver.sol\":2118:2160 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"ownable-resolver.sol\":2100:2116 extractedAddress */\n dup2\n /* \"ownable-resolver.sol\":2096:2161 and(extractedAddress, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) */\n and\n /* \"ownable-resolver.sol\":2076:2161 extractedAddress := and(extractedAddress, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) */\n swap1\n pop\n /* \"ownable-resolver.sol\":2238:2254 extractedAddress */\n dup1\n /* \"ownable-resolver.sol\":2231:2254 return extractedAddress */\n swap2\n pop\n pop\n /* \"ownable-resolver.sol\":1648:2261 function extractAddressFromData(bytes memory data) internal pure returns (address) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_158:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:281 */\n tag_159:\n /* \"#utility.yul\":196:207 */\n 0x00\n /* \"#utility.yul\":230:236 */\n dup3\n /* \"#utility.yul\":225:228 */\n dup3\n /* \"#utility.yul\":218:237 */\n mstore\n /* \"#utility.yul\":270:274 */\n 0x20\n /* \"#utility.yul\":265:268 */\n dup3\n /* \"#utility.yul\":261:275 */\n add\n /* \"#utility.yul\":246:275 */\n swap1\n pop\n /* \"#utility.yul\":112:281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":287:426 */\n tag_160:\n /* \"#utility.yul\":376:382 */\n dup3\n /* \"#utility.yul\":371:374 */\n dup2\n /* \"#utility.yul\":366:369 */\n dup4\n /* \"#utility.yul\":360:383 */\n mcopy\n /* \"#utility.yul\":417:418 */\n 0x00\n /* \"#utility.yul\":408:414 */\n dup4\n /* \"#utility.yul\":403:406 */\n dup4\n /* \"#utility.yul\":399:415 */\n add\n /* \"#utility.yul\":392:419 */\n mstore\n /* \"#utility.yul\":287:426 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":432:534 */\n tag_161:\n /* \"#utility.yul\":473:479 */\n 0x00\n /* \"#utility.yul\":524:526 */\n 0x1f\n /* \"#utility.yul\":520:527 */\n not\n /* \"#utility.yul\":515:517 */\n 0x1f\n /* \"#utility.yul\":508:513 */\n dup4\n /* \"#utility.yul\":504:518 */\n add\n /* \"#utility.yul\":500:528 */\n and\n /* \"#utility.yul\":490:528 */\n swap1\n pop\n /* \"#utility.yul\":432:534 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":540:917 */\n tag_162:\n /* \"#utility.yul\":628:631 */\n 0x00\n /* \"#utility.yul\":656:695 */\n tag_195\n /* \"#utility.yul\":689:694 */\n dup3\n /* \"#utility.yul\":656:695 */\n tag_158\n jump\t// in\n tag_195:\n /* \"#utility.yul\":711:782 */\n tag_196\n /* \"#utility.yul\":775:781 */\n dup2\n /* \"#utility.yul\":770:773 */\n dup6\n /* \"#utility.yul\":711:782 */\n tag_159\n jump\t// in\n tag_196:\n /* \"#utility.yul\":704:782 */\n swap4\n pop\n /* \"#utility.yul\":791:856 */\n tag_197\n /* \"#utility.yul\":849:855 */\n dup2\n /* \"#utility.yul\":844:847 */\n dup6\n /* \"#utility.yul\":837:841 */\n 0x20\n /* \"#utility.yul\":830:835 */\n dup7\n /* \"#utility.yul\":826:842 */\n add\n /* \"#utility.yul\":791:856 */\n tag_160\n jump\t// in\n tag_197:\n /* \"#utility.yul\":881:910 */\n tag_198\n /* \"#utility.yul\":903:909 */\n dup2\n /* \"#utility.yul\":881:910 */\n tag_161\n jump\t// in\n tag_198:\n /* \"#utility.yul\":876:879 */\n dup5\n /* \"#utility.yul\":872:911 */\n add\n /* \"#utility.yul\":865:911 */\n swap2\n pop\n /* \"#utility.yul\":632:917 */\n pop\n /* \"#utility.yul\":540:917 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":923:1236 */\n tag_18:\n /* \"#utility.yul\":1036:1040 */\n 0x00\n /* \"#utility.yul\":1074:1076 */\n 0x20\n /* \"#utility.yul\":1063:1072 */\n dup3\n /* \"#utility.yul\":1059:1077 */\n add\n /* \"#utility.yul\":1051:1077 */\n swap1\n pop\n /* \"#utility.yul\":1123:1132 */\n dup2\n /* \"#utility.yul\":1117:1121 */\n dup2\n /* \"#utility.yul\":1113:1133 */\n sub\n /* \"#utility.yul\":1109:1110 */\n 0x00\n /* \"#utility.yul\":1098:1107 */\n dup4\n /* \"#utility.yul\":1094:1111 */\n add\n /* \"#utility.yul\":1087:1134 */\n mstore\n /* \"#utility.yul\":1151:1229 */\n tag_200\n /* \"#utility.yul\":1224:1228 */\n dup2\n /* \"#utility.yul\":1215:1221 */\n dup5\n /* \"#utility.yul\":1151:1229 */\n tag_162\n jump\t// in\n tag_200:\n /* \"#utility.yul\":1143:1229 */\n swap1\n pop\n /* \"#utility.yul\":923:1236 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1323:1440 */\n tag_164:\n /* \"#utility.yul\":1432:1433 */\n 0x00\n /* \"#utility.yul\":1429:1430 */\n dup1\n /* \"#utility.yul\":1422:1434 */\n revert\n /* \"#utility.yul\":1446:1563 */\n tag_165:\n /* \"#utility.yul\":1555:1556 */\n 0x00\n /* \"#utility.yul\":1552:1553 */\n dup1\n /* \"#utility.yul\":1545:1557 */\n revert\n /* \"#utility.yul\":1569:1686 */\n tag_166:\n /* \"#utility.yul\":1678:1679 */\n 0x00\n /* \"#utility.yul\":1675:1676 */\n dup1\n /* \"#utility.yul\":1668:1680 */\n revert\n /* \"#utility.yul\":1692:1809 */\n tag_167:\n /* \"#utility.yul\":1801:1802 */\n 0x00\n /* \"#utility.yul\":1798:1799 */\n dup1\n /* \"#utility.yul\":1791:1803 */\n revert\n /* \"#utility.yul\":1815:1932 */\n tag_168:\n /* \"#utility.yul\":1924:1925 */\n 0x00\n /* \"#utility.yul\":1921:1922 */\n dup1\n /* \"#utility.yul\":1914:1926 */\n revert\n /* \"#utility.yul\":1966:2565 */\n tag_169:\n /* \"#utility.yul\":2070:2078 */\n 0x00\n /* \"#utility.yul\":2080:2086 */\n dup1\n /* \"#utility.yul\":2130:2133 */\n dup4\n /* \"#utility.yul\":2123:2127 */\n 0x1f\n /* \"#utility.yul\":2115:2121 */\n dup5\n /* \"#utility.yul\":2111:2128 */\n add\n /* \"#utility.yul\":2107:2134 */\n slt\n /* \"#utility.yul\":2097:2219 */\n tag_208\n jumpi\n /* \"#utility.yul\":2138:2217 */\n tag_209\n tag_166\n jump\t// in\n tag_209:\n /* \"#utility.yul\":2097:2219 */\n tag_208:\n /* \"#utility.yul\":2251:2257 */\n dup3\n /* \"#utility.yul\":2238:2258 */\n calldataload\n /* \"#utility.yul\":2228:2258 */\n swap1\n pop\n /* \"#utility.yul\":2281:2299 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2273:2279 */\n dup2\n /* \"#utility.yul\":2270:2300 */\n gt\n /* \"#utility.yul\":2267:2384 */\n iszero\n tag_210\n jumpi\n /* \"#utility.yul\":2303:2382 */\n tag_211\n tag_167\n jump\t// in\n tag_211:\n /* \"#utility.yul\":2267:2384 */\n tag_210:\n /* \"#utility.yul\":2417:2421 */\n 0x20\n /* \"#utility.yul\":2409:2415 */\n dup4\n /* \"#utility.yul\":2405:2422 */\n add\n /* \"#utility.yul\":2393:2422 */\n swap2\n pop\n /* \"#utility.yul\":2471:2474 */\n dup4\n /* \"#utility.yul\":2463:2467 */\n 0x20\n /* \"#utility.yul\":2455:2461 */\n dup3\n /* \"#utility.yul\":2451:2468 */\n mul\n /* \"#utility.yul\":2441:2449 */\n dup4\n /* \"#utility.yul\":2437:2469 */\n add\n /* \"#utility.yul\":2434:2475 */\n gt\n /* \"#utility.yul\":2431:2559 */\n iszero\n tag_212\n jumpi\n /* \"#utility.yul\":2478:2557 */\n tag_213\n tag_168\n jump\t// in\n tag_213:\n /* \"#utility.yul\":2431:2559 */\n tag_212:\n /* \"#utility.yul\":1966:2565 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2588:3156 */\n tag_170:\n /* \"#utility.yul\":2661:2669 */\n 0x00\n /* \"#utility.yul\":2671:2677 */\n dup1\n /* \"#utility.yul\":2721:2724 */\n dup4\n /* \"#utility.yul\":2714:2718 */\n 0x1f\n /* \"#utility.yul\":2706:2712 */\n dup5\n /* \"#utility.yul\":2702:2719 */\n add\n /* \"#utility.yul\":2698:2725 */\n slt\n /* \"#utility.yul\":2688:2810 */\n tag_215\n jumpi\n /* \"#utility.yul\":2729:2808 */\n tag_216\n tag_166\n jump\t// in\n tag_216:\n /* \"#utility.yul\":2688:2810 */\n tag_215:\n /* \"#utility.yul\":2842:2848 */\n dup3\n /* \"#utility.yul\":2829:2849 */\n calldataload\n /* \"#utility.yul\":2819:2849 */\n swap1\n pop\n /* \"#utility.yul\":2872:2890 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2864:2870 */\n dup2\n /* \"#utility.yul\":2861:2891 */\n gt\n /* \"#utility.yul\":2858:2975 */\n iszero\n tag_217\n jumpi\n /* \"#utility.yul\":2894:2973 */\n tag_218\n tag_167\n jump\t// in\n tag_218:\n /* \"#utility.yul\":2858:2975 */\n tag_217:\n /* \"#utility.yul\":3008:3012 */\n 0x20\n /* \"#utility.yul\":3000:3006 */\n dup4\n /* \"#utility.yul\":2996:3013 */\n add\n /* \"#utility.yul\":2984:3013 */\n swap2\n pop\n /* \"#utility.yul\":3062:3065 */\n dup4\n /* \"#utility.yul\":3054:3058 */\n 0x20\n /* \"#utility.yul\":3046:3052 */\n dup3\n /* \"#utility.yul\":3042:3059 */\n mul\n /* \"#utility.yul\":3032:3040 */\n dup4\n /* \"#utility.yul\":3028:3060 */\n add\n /* \"#utility.yul\":3025:3066 */\n gt\n /* \"#utility.yul\":3022:3150 */\n iszero\n tag_219\n jumpi\n /* \"#utility.yul\":3069:3148 */\n tag_220\n tag_168\n jump\t// in\n tag_220:\n /* \"#utility.yul\":3022:3150 */\n tag_219:\n /* \"#utility.yul\":2588:3156 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3162:4158 */\n tag_21:\n /* \"#utility.yul\":3315:3321 */\n 0x00\n /* \"#utility.yul\":3323:3329 */\n dup1\n /* \"#utility.yul\":3331:3337 */\n 0x00\n /* \"#utility.yul\":3339:3345 */\n dup1\n /* \"#utility.yul\":3388:3390 */\n 0x40\n /* \"#utility.yul\":3376:3385 */\n dup6\n /* \"#utility.yul\":3367:3374 */\n dup8\n /* \"#utility.yul\":3363:3386 */\n sub\n /* \"#utility.yul\":3359:3391 */\n slt\n /* \"#utility.yul\":3356:3475 */\n iszero\n tag_222\n jumpi\n /* \"#utility.yul\":3394:3473 */\n tag_223\n tag_164\n jump\t// in\n tag_223:\n /* \"#utility.yul\":3356:3475 */\n tag_222:\n /* \"#utility.yul\":3542:3543 */\n 0x00\n /* \"#utility.yul\":3531:3540 */\n dup6\n /* \"#utility.yul\":3527:3544 */\n add\n /* \"#utility.yul\":3514:3545 */\n calldataload\n /* \"#utility.yul\":3572:3590 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3564:3570 */\n dup2\n /* \"#utility.yul\":3561:3591 */\n gt\n /* \"#utility.yul\":3558:3675 */\n iszero\n tag_224\n jumpi\n /* \"#utility.yul\":3594:3673 */\n tag_225\n tag_165\n jump\t// in\n tag_225:\n /* \"#utility.yul\":3558:3675 */\n tag_224:\n /* \"#utility.yul\":3707:3818 */\n tag_226\n /* \"#utility.yul\":3810:3817 */\n dup8\n /* \"#utility.yul\":3801:3807 */\n dup3\n /* \"#utility.yul\":3790:3799 */\n dup9\n /* \"#utility.yul\":3786:3808 */\n add\n /* \"#utility.yul\":3707:3818 */\n tag_169\n jump\t// in\n tag_226:\n /* \"#utility.yul\":3689:3818 */\n swap5\n pop\n swap5\n pop\n /* \"#utility.yul\":3485:3828 */\n pop\n /* \"#utility.yul\":3895:3897 */\n 0x20\n /* \"#utility.yul\":3884:3893 */\n dup6\n /* \"#utility.yul\":3880:3898 */\n add\n /* \"#utility.yul\":3867:3899 */\n calldataload\n /* \"#utility.yul\":3926:3944 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3918:3924 */\n dup2\n /* \"#utility.yul\":3915:3945 */\n gt\n /* \"#utility.yul\":3912:4029 */\n iszero\n tag_227\n jumpi\n /* \"#utility.yul\":3948:4027 */\n tag_228\n tag_165\n jump\t// in\n tag_228:\n /* \"#utility.yul\":3912:4029 */\n tag_227:\n /* \"#utility.yul\":4061:4141 */\n tag_229\n /* \"#utility.yul\":4133:4140 */\n dup8\n /* \"#utility.yul\":4124:4130 */\n dup3\n /* \"#utility.yul\":4113:4122 */\n dup9\n /* \"#utility.yul\":4109:4131 */\n add\n /* \"#utility.yul\":4061:4141 */\n tag_170\n jump\t// in\n tag_229:\n /* \"#utility.yul\":4043:4141 */\n swap3\n pop\n swap3\n pop\n /* \"#utility.yul\":3838:4151 */\n pop\n /* \"#utility.yul\":3162:4158 */\n swap3\n swap6\n swap2\n swap5\n pop\n swap3\n pop\n jump\t// out\n /* \"#utility.yul\":4164:4254 */\n tag_171:\n /* \"#utility.yul\":4198:4205 */\n 0x00\n /* \"#utility.yul\":4241:4246 */\n dup2\n /* \"#utility.yul\":4234:4247 */\n iszero\n /* \"#utility.yul\":4227:4248 */\n iszero\n /* \"#utility.yul\":4216:4248 */\n swap1\n pop\n /* \"#utility.yul\":4164:4254 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4260:4369 */\n tag_172:\n /* \"#utility.yul\":4341:4362 */\n tag_232\n /* \"#utility.yul\":4356:4361 */\n dup2\n /* \"#utility.yul\":4341:4362 */\n tag_171\n jump\t// in\n tag_232:\n /* \"#utility.yul\":4336:4339 */\n dup3\n /* \"#utility.yul\":4329:4363 */\n mstore\n /* \"#utility.yul\":4260:4369 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4375:4585 */\n tag_24:\n /* \"#utility.yul\":4462:4466 */\n 0x00\n /* \"#utility.yul\":4500:4502 */\n 0x20\n /* \"#utility.yul\":4489:4498 */\n dup3\n /* \"#utility.yul\":4485:4503 */\n add\n /* \"#utility.yul\":4477:4503 */\n swap1\n pop\n /* \"#utility.yul\":4513:4578 */\n tag_234\n /* \"#utility.yul\":4575:4576 */\n 0x00\n /* \"#utility.yul\":4564:4573 */\n dup4\n /* \"#utility.yul\":4560:4577 */\n add\n /* \"#utility.yul\":4551:4557 */\n dup5\n /* \"#utility.yul\":4513:4578 */\n tag_172\n jump\t// in\n tag_234:\n /* \"#utility.yul\":4375:4585 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4591:4708 */\n tag_173:\n /* \"#utility.yul\":4700:4701 */\n 0x00\n /* \"#utility.yul\":4697:4698 */\n dup1\n /* \"#utility.yul\":4690:4702 */\n revert\n /* \"#utility.yul\":4740:4976 */\n tag_174:\n /* \"#utility.yul\":4817:4822 */\n 0x00\n /* \"#utility.yul\":4858:4861 */\n 0x0140\n /* \"#utility.yul\":4849:4855 */\n dup3\n /* \"#utility.yul\":4844:4847 */\n dup5\n /* \"#utility.yul\":4840:4856 */\n sub\n /* \"#utility.yul\":4836:4862 */\n slt\n /* \"#utility.yul\":4833:4946 */\n iszero\n tag_237\n jumpi\n /* \"#utility.yul\":4865:4944 */\n tag_238\n tag_173\n jump\t// in\n tag_238:\n /* \"#utility.yul\":4833:4946 */\n tag_237:\n /* \"#utility.yul\":4964:4970 */\n dup2\n /* \"#utility.yul\":4955:4970 */\n swap1\n pop\n /* \"#utility.yul\":4740:4976 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4982:5533 */\n tag_34:\n /* \"#utility.yul\":5072:5078 */\n 0x00\n /* \"#utility.yul\":5121:5123 */\n 0x20\n /* \"#utility.yul\":5109:5118 */\n dup3\n /* \"#utility.yul\":5100:5107 */\n dup5\n /* \"#utility.yul\":5096:5119 */\n sub\n /* \"#utility.yul\":5092:5124 */\n slt\n /* \"#utility.yul\":5089:5208 */\n iszero\n tag_240\n jumpi\n /* \"#utility.yul\":5127:5206 */\n tag_241\n tag_164\n jump\t// in\n tag_241:\n /* \"#utility.yul\":5089:5208 */\n tag_240:\n /* \"#utility.yul\":5275:5276 */\n 0x00\n /* \"#utility.yul\":5264:5273 */\n dup3\n /* \"#utility.yul\":5260:5277 */\n add\n /* \"#utility.yul\":5247:5278 */\n calldataload\n /* \"#utility.yul\":5305:5323 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5297:5303 */\n dup2\n /* \"#utility.yul\":5294:5324 */\n gt\n /* \"#utility.yul\":5291:5408 */\n iszero\n tag_242\n jumpi\n /* \"#utility.yul\":5327:5406 */\n tag_243\n tag_165\n jump\t// in\n tag_243:\n /* \"#utility.yul\":5291:5408 */\n tag_242:\n /* \"#utility.yul\":5432:5516 */\n tag_244\n /* \"#utility.yul\":5508:5515 */\n dup5\n /* \"#utility.yul\":5499:5505 */\n dup3\n /* \"#utility.yul\":5488:5497 */\n dup6\n /* \"#utility.yul\":5484:5506 */\n add\n /* \"#utility.yul\":5432:5516 */\n tag_174\n jump\t// in\n tag_244:\n /* \"#utility.yul\":5422:5516 */\n swap2\n pop\n /* \"#utility.yul\":5218:5526 */\n pop\n /* \"#utility.yul\":4982:5533 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5539:5687 */\n tag_175:\n /* \"#utility.yul\":5641:5652 */\n 0x00\n /* \"#utility.yul\":5678:5681 */\n dup2\n /* \"#utility.yul\":5663:5681 */\n swap1\n pop\n /* \"#utility.yul\":5539:5687 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5693:6083 */\n tag_176:\n /* \"#utility.yul\":5799:5802 */\n 0x00\n /* \"#utility.yul\":5827:5866 */\n tag_247\n /* \"#utility.yul\":5860:5865 */\n dup3\n /* \"#utility.yul\":5827:5866 */\n tag_158\n jump\t// in\n tag_247:\n /* \"#utility.yul\":5882:5971 */\n tag_248\n /* \"#utility.yul\":5964:5970 */\n dup2\n /* \"#utility.yul\":5959:5962 */\n dup6\n /* \"#utility.yul\":5882:5971 */\n tag_175\n jump\t// in\n tag_248:\n /* \"#utility.yul\":5875:5971 */\n swap4\n pop\n /* \"#utility.yul\":5980:6045 */\n tag_249\n /* \"#utility.yul\":6038:6044 */\n dup2\n /* \"#utility.yul\":6033:6036 */\n dup6\n /* \"#utility.yul\":6026:6030 */\n 0x20\n /* \"#utility.yul\":6019:6024 */\n dup7\n /* \"#utility.yul\":6015:6031 */\n add\n /* \"#utility.yul\":5980:6045 */\n tag_160\n jump\t// in\n tag_249:\n /* \"#utility.yul\":6070:6076 */\n dup1\n /* \"#utility.yul\":6065:6068 */\n dup5\n /* \"#utility.yul\":6061:6077 */\n add\n /* \"#utility.yul\":6054:6077 */\n swap2\n pop\n /* \"#utility.yul\":5803:6083 */\n pop\n /* \"#utility.yul\":5693:6083 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6089:6240 */\n tag_177:\n /* \"#utility.yul\":6229:6232 */\n 0x2e00000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6225:6226 */\n 0x00\n /* \"#utility.yul\":6217:6223 */\n dup3\n /* \"#utility.yul\":6213:6227 */\n add\n /* \"#utility.yul\":6206:6233 */\n mstore\n /* \"#utility.yul\":6089:6240 */\n pop\n jump\t// out\n /* \"#utility.yul\":6246:6646 */\n tag_178:\n /* \"#utility.yul\":6406:6409 */\n 0x00\n /* \"#utility.yul\":6427:6511 */\n tag_252\n /* \"#utility.yul\":6509:6510 */\n 0x01\n /* \"#utility.yul\":6504:6507 */\n dup4\n /* \"#utility.yul\":6427:6511 */\n tag_175\n jump\t// in\n tag_252:\n /* \"#utility.yul\":6420:6511 */\n swap2\n pop\n /* \"#utility.yul\":6520:6613 */\n tag_253\n /* \"#utility.yul\":6609:6612 */\n dup3\n /* \"#utility.yul\":6520:6613 */\n tag_177\n jump\t// in\n tag_253:\n /* \"#utility.yul\":6638:6639 */\n 0x01\n /* \"#utility.yul\":6633:6636 */\n dup3\n /* \"#utility.yul\":6629:6640 */\n add\n /* \"#utility.yul\":6622:6640 */\n swap1\n pop\n /* \"#utility.yul\":6246:6646 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6652:7779 */\n tag_48:\n /* \"#utility.yul\":7082:7085 */\n 0x00\n /* \"#utility.yul\":7104:7199 */\n tag_255\n /* \"#utility.yul\":7195:7198 */\n dup3\n /* \"#utility.yul\":7186:7192 */\n dup7\n /* \"#utility.yul\":7104:7199 */\n tag_176\n jump\t// in\n tag_255:\n /* \"#utility.yul\":7097:7199 */\n swap2\n pop\n /* \"#utility.yul\":7216:7364 */\n tag_256\n /* \"#utility.yul\":7360:7363 */\n dup3\n /* \"#utility.yul\":7216:7364 */\n tag_178\n jump\t// in\n tag_256:\n /* \"#utility.yul\":7209:7364 */\n swap2\n pop\n /* \"#utility.yul\":7381:7476 */\n tag_257\n /* \"#utility.yul\":7472:7475 */\n dup3\n /* \"#utility.yul\":7463:7469 */\n dup6\n /* \"#utility.yul\":7381:7476 */\n tag_176\n jump\t// in\n tag_257:\n /* \"#utility.yul\":7374:7476 */\n swap2\n pop\n /* \"#utility.yul\":7493:7641 */\n tag_258\n /* \"#utility.yul\":7637:7640 */\n dup3\n /* \"#utility.yul\":7493:7641 */\n tag_178\n jump\t// in\n tag_258:\n /* \"#utility.yul\":7486:7641 */\n swap2\n pop\n /* \"#utility.yul\":7658:7753 */\n tag_259\n /* \"#utility.yul\":7749:7752 */\n dup3\n /* \"#utility.yul\":7740:7746 */\n dup5\n /* \"#utility.yul\":7658:7753 */\n tag_176\n jump\t// in\n tag_259:\n /* \"#utility.yul\":7651:7753 */\n swap2\n pop\n /* \"#utility.yul\":7770:7773 */\n dup2\n /* \"#utility.yul\":7763:7773 */\n swap1\n pop\n /* \"#utility.yul\":6652:7779 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7785:7965 */\n tag_59:\n /* \"#utility.yul\":7833:7910 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":7830:7831 */\n 0x00\n /* \"#utility.yul\":7823:7911 */\n mstore\n /* \"#utility.yul\":7930:7934 */\n 0x32\n /* \"#utility.yul\":7927:7928 */\n 0x04\n /* \"#utility.yul\":7920:7935 */\n mstore\n /* \"#utility.yul\":7954:7958 */\n 0x24\n /* \"#utility.yul\":7951:7952 */\n 0x00\n /* \"#utility.yul\":7944:7959 */\n revert\n /* \"#utility.yul\":7971:8088 */\n tag_179:\n /* \"#utility.yul\":8080:8081 */\n 0x00\n /* \"#utility.yul\":8077:8078 */\n dup1\n /* \"#utility.yul\":8070:8082 */\n revert\n /* \"#utility.yul\":8094:8211 */\n tag_180:\n /* \"#utility.yul\":8203:8204 */\n 0x00\n /* \"#utility.yul\":8200:8201 */\n dup1\n /* \"#utility.yul\":8193:8205 */\n revert\n /* \"#utility.yul\":8217:8334 */\n tag_181:\n /* \"#utility.yul\":8326:8327 */\n 0x00\n /* \"#utility.yul\":8323:8324 */\n dup1\n /* \"#utility.yul\":8316:8328 */\n revert\n /* \"#utility.yul\":8340:8739 */\n tag_65:\n /* \"#utility.yul\":8437:8441 */\n 0x00\n /* \"#utility.yul\":8491:8502 */\n dup3\n /* \"#utility.yul\":8478:8503 */\n calldataload\n /* \"#utility.yul\":8593:8594 */\n 0x01\n /* \"#utility.yul\":8585:8591 */\n 0x0140\n /* \"#utility.yul\":8581:8595 */\n sub\n /* \"#utility.yul\":8570:8578 */\n dup4\n /* \"#utility.yul\":8554:8568 */\n calldatasize\n /* \"#utility.yul\":8550:8579 */\n sub\n /* \"#utility.yul\":8546:8596 */\n sub\n /* \"#utility.yul\":8526:8544 */\n dup2\n /* \"#utility.yul\":8522:8597 */\n slt\n /* \"#utility.yul\":8512:8682 */\n tag_265\n jumpi\n /* \"#utility.yul\":8601:8680 */\n tag_266\n tag_179\n jump\t// in\n tag_266:\n /* \"#utility.yul\":8512:8682 */\n tag_265:\n /* \"#utility.yul\":8713:8731 */\n dup1\n /* \"#utility.yul\":8703:8711 */\n dup4\n /* \"#utility.yul\":8699:8732 */\n add\n /* \"#utility.yul\":8691:8732 */\n swap2\n pop\n /* \"#utility.yul\":8442:8739 */\n pop\n /* \"#utility.yul\":8340:8739 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8745:8925 */\n tag_100:\n /* \"#utility.yul\":8793:8870 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":8790:8791 */\n 0x00\n /* \"#utility.yul\":8783:8871 */\n mstore\n /* \"#utility.yul\":8890:8894 */\n 0x41\n /* \"#utility.yul\":8887:8888 */\n 0x04\n /* \"#utility.yul\":8880:8895 */\n mstore\n /* \"#utility.yul\":8914:8918 */\n 0x24\n /* \"#utility.yul\":8911:8912 */\n 0x00\n /* \"#utility.yul\":8904:8919 */\n revert\n /* \"#utility.yul\":8931:9111 */\n tag_106:\n /* \"#utility.yul\":8979:9056 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":8976:8977 */\n 0x00\n /* \"#utility.yul\":8969:9057 */\n mstore\n /* \"#utility.yul\":9076:9080 */\n 0x12\n /* \"#utility.yul\":9073:9074 */\n 0x04\n /* \"#utility.yul\":9066:9081 */\n mstore\n /* \"#utility.yul\":9100:9104 */\n 0x24\n /* \"#utility.yul\":9097:9098 */\n 0x00\n /* \"#utility.yul\":9090:9105 */\n revert\n /* \"#utility.yul\":9117:9243 */\n tag_182:\n /* \"#utility.yul\":9154:9161 */\n 0x00\n /* \"#utility.yul\":9194:9236 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":9187:9192 */\n dup3\n /* \"#utility.yul\":9183:9237 */\n and\n /* \"#utility.yul\":9172:9237 */\n swap1\n pop\n /* \"#utility.yul\":9117:9243 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9249:9345 */\n tag_183:\n /* \"#utility.yul\":9286:9293 */\n 0x00\n /* \"#utility.yul\":9315:9339 */\n tag_271\n /* \"#utility.yul\":9333:9338 */\n dup3\n /* \"#utility.yul\":9315:9339 */\n tag_182\n jump\t// in\n tag_271:\n /* \"#utility.yul\":9304:9339 */\n swap1\n pop\n /* \"#utility.yul\":9249:9345 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9351:9473 */\n tag_184:\n /* \"#utility.yul\":9424:9448 */\n tag_273\n /* \"#utility.yul\":9442:9447 */\n dup2\n /* \"#utility.yul\":9424:9448 */\n tag_183\n jump\t// in\n tag_273:\n /* \"#utility.yul\":9417:9422 */\n dup2\n /* \"#utility.yul\":9414:9449 */\n eq\n /* \"#utility.yul\":9404:9467 */\n tag_274\n jumpi\n /* \"#utility.yul\":9463:9464 */\n 0x00\n /* \"#utility.yul\":9460:9461 */\n dup1\n /* \"#utility.yul\":9453:9465 */\n revert\n /* \"#utility.yul\":9404:9467 */\n tag_274:\n /* \"#utility.yul\":9351:9473 */\n pop\n jump\t// out\n /* \"#utility.yul\":9479:9618 */\n tag_185:\n /* \"#utility.yul\":9525:9530 */\n 0x00\n /* \"#utility.yul\":9563:9569 */\n dup2\n /* \"#utility.yul\":9550:9570 */\n calldataload\n /* \"#utility.yul\":9541:9570 */\n swap1\n pop\n /* \"#utility.yul\":9579:9612 */\n tag_276\n /* \"#utility.yul\":9606:9611 */\n dup2\n /* \"#utility.yul\":9579:9612 */\n tag_184\n jump\t// in\n tag_276:\n /* \"#utility.yul\":9479:9618 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9624:9953 */\n tag_114:\n /* \"#utility.yul\":9683:9689 */\n 0x00\n /* \"#utility.yul\":9732:9734 */\n 0x20\n /* \"#utility.yul\":9720:9729 */\n dup3\n /* \"#utility.yul\":9711:9718 */\n dup5\n /* \"#utility.yul\":9707:9730 */\n sub\n /* \"#utility.yul\":9703:9735 */\n slt\n /* \"#utility.yul\":9700:9819 */\n iszero\n tag_278\n jumpi\n /* \"#utility.yul\":9738:9817 */\n tag_279\n tag_164\n jump\t// in\n tag_279:\n /* \"#utility.yul\":9700:9819 */\n tag_278:\n /* \"#utility.yul\":9858:9859 */\n 0x00\n /* \"#utility.yul\":9883:9936 */\n tag_280\n /* \"#utility.yul\":9928:9935 */\n dup5\n /* \"#utility.yul\":9919:9925 */\n dup3\n /* \"#utility.yul\":9908:9917 */\n dup6\n /* \"#utility.yul\":9904:9926 */\n add\n /* \"#utility.yul\":9883:9936 */\n tag_185\n jump\t// in\n tag_280:\n /* \"#utility.yul\":9873:9936 */\n swap2\n pop\n /* \"#utility.yul\":9829:9946 */\n pop\n /* \"#utility.yul\":9624:9953 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9959:10683 */\n tag_120:\n /* \"#utility.yul\":10036:10040 */\n 0x00\n /* \"#utility.yul\":10042:10048 */\n dup1\n /* \"#utility.yul\":10098:10109 */\n dup4\n /* \"#utility.yul\":10085:10110 */\n calldataload\n /* \"#utility.yul\":10198:10199 */\n 0x01\n /* \"#utility.yul\":10192:10196 */\n 0x20\n /* \"#utility.yul\":10188:10200 */\n sub\n /* \"#utility.yul\":10177:10185 */\n dup5\n /* \"#utility.yul\":10161:10175 */\n calldatasize\n /* \"#utility.yul\":10157:10186 */\n sub\n /* \"#utility.yul\":10153:10201 */\n sub\n /* \"#utility.yul\":10133:10151 */\n dup2\n /* \"#utility.yul\":10129:10202 */\n slt\n /* \"#utility.yul\":10119:10287 */\n tag_282\n jumpi\n /* \"#utility.yul\":10206:10285 */\n tag_283\n tag_179\n jump\t// in\n tag_283:\n /* \"#utility.yul\":10119:10287 */\n tag_282:\n /* \"#utility.yul\":10318:10336 */\n dup1\n /* \"#utility.yul\":10308:10316 */\n dup5\n /* \"#utility.yul\":10304:10337 */\n add\n /* \"#utility.yul\":10296:10337 */\n swap3\n pop\n /* \"#utility.yul\":10370:10374 */\n dup3\n /* \"#utility.yul\":10357:10375 */\n calldataload\n /* \"#utility.yul\":10347:10375 */\n swap2\n pop\n /* \"#utility.yul\":10398:10416 */\n 0xffffffffffffffff\n /* \"#utility.yul\":10390:10396 */\n dup3\n /* \"#utility.yul\":10387:10417 */\n gt\n /* \"#utility.yul\":10384:10501 */\n iszero\n tag_284\n jumpi\n /* \"#utility.yul\":10420:10499 */\n tag_285\n tag_180\n jump\t// in\n tag_285:\n /* \"#utility.yul\":10384:10501 */\n tag_284:\n /* \"#utility.yul\":10528:10530 */\n 0x20\n /* \"#utility.yul\":10522:10526 */\n dup4\n /* \"#utility.yul\":10518:10531 */\n add\n /* \"#utility.yul\":10510:10531 */\n swap3\n pop\n /* \"#utility.yul\":10585:10589 */\n 0x01\n /* \"#utility.yul\":10577:10583 */\n dup3\n /* \"#utility.yul\":10573:10590 */\n mul\n /* \"#utility.yul\":10557:10571 */\n calldatasize\n /* \"#utility.yul\":10553:10591 */\n sub\n /* \"#utility.yul\":10547:10551 */\n dup4\n /* \"#utility.yul\":10543:10592 */\n sgt\n /* \"#utility.yul\":10540:10676 */\n iszero\n tag_286\n jumpi\n /* \"#utility.yul\":10595:10674 */\n tag_287\n tag_181\n jump\t// in\n tag_287:\n /* \"#utility.yul\":10540:10676 */\n tag_286:\n /* \"#utility.yul\":10049:10683 */\n pop\n /* \"#utility.yul\":9959:10683 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":10689:10832 */\n tag_186:\n /* \"#utility.yul\":10746:10751 */\n 0x00\n /* \"#utility.yul\":10777:10783 */\n dup2\n /* \"#utility.yul\":10771:10784 */\n mload\n /* \"#utility.yul\":10762:10784 */\n swap1\n pop\n /* \"#utility.yul\":10793:10826 */\n tag_289\n /* \"#utility.yul\":10820:10825 */\n dup2\n /* \"#utility.yul\":10793:10826 */\n tag_184\n jump\t// in\n tag_289:\n /* \"#utility.yul\":10689:10832 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":10838:11189 */\n tag_127:\n /* \"#utility.yul\":10908:10914 */\n 0x00\n /* \"#utility.yul\":10957:10959 */\n 0x20\n /* \"#utility.yul\":10945:10954 */\n dup3\n /* \"#utility.yul\":10936:10943 */\n dup5\n /* \"#utility.yul\":10932:10955 */\n sub\n /* \"#utility.yul\":10928:10960 */\n slt\n /* \"#utility.yul\":10925:11044 */\n iszero\n tag_291\n jumpi\n /* \"#utility.yul\":10963:11042 */\n tag_292\n tag_164\n jump\t// in\n tag_292:\n /* \"#utility.yul\":10925:11044 */\n tag_291:\n /* \"#utility.yul\":11083:11084 */\n 0x00\n /* \"#utility.yul\":11108:11172 */\n tag_293\n /* \"#utility.yul\":11164:11171 */\n dup5\n /* \"#utility.yul\":11155:11161 */\n dup3\n /* \"#utility.yul\":11144:11153 */\n dup6\n /* \"#utility.yul\":11140:11162 */\n add\n /* \"#utility.yul\":11108:11172 */\n tag_186\n jump\t// in\n tag_293:\n /* \"#utility.yul\":11098:11172 */\n swap2\n pop\n /* \"#utility.yul\":11054:11182 */\n pop\n /* \"#utility.yul\":10838:11189 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":11195:11359 */\n tag_187:\n /* \"#utility.yul\":11335:11351 */\n 0x4461746120746f6f2073686f7274000000000000000000000000000000000000\n /* \"#utility.yul\":11331:11332 */\n 0x00\n /* \"#utility.yul\":11323:11329 */\n dup3\n /* \"#utility.yul\":11319:11333 */\n add\n /* \"#utility.yul\":11312:11352 */\n mstore\n /* \"#utility.yul\":11195:11359 */\n pop\n jump\t// out\n /* \"#utility.yul\":11365:11731 */\n tag_188:\n /* \"#utility.yul\":11507:11510 */\n 0x00\n /* \"#utility.yul\":11528:11595 */\n tag_296\n /* \"#utility.yul\":11592:11594 */\n 0x0e\n /* \"#utility.yul\":11587:11590 */\n dup4\n /* \"#utility.yul\":11528:11595 */\n tag_159\n jump\t// in\n tag_296:\n /* \"#utility.yul\":11521:11595 */\n swap2\n pop\n /* \"#utility.yul\":11604:11697 */\n tag_297\n /* \"#utility.yul\":11693:11696 */\n dup3\n /* \"#utility.yul\":11604:11697 */\n tag_187\n jump\t// in\n tag_297:\n /* \"#utility.yul\":11722:11724 */\n 0x20\n /* \"#utility.yul\":11717:11720 */\n dup3\n /* \"#utility.yul\":11713:11725 */\n add\n /* \"#utility.yul\":11706:11725 */\n swap1\n pop\n /* \"#utility.yul\":11365:11731 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11737:12156 */\n tag_157:\n /* \"#utility.yul\":11903:11907 */\n 0x00\n /* \"#utility.yul\":11941:11943 */\n 0x20\n /* \"#utility.yul\":11930:11939 */\n dup3\n /* \"#utility.yul\":11926:11944 */\n add\n /* \"#utility.yul\":11918:11944 */\n swap1\n pop\n /* \"#utility.yul\":11990:11999 */\n dup2\n /* \"#utility.yul\":11984:11988 */\n dup2\n /* \"#utility.yul\":11980:12000 */\n sub\n /* \"#utility.yul\":11976:11977 */\n 0x00\n /* \"#utility.yul\":11965:11974 */\n dup4\n /* \"#utility.yul\":11961:11978 */\n add\n /* \"#utility.yul\":11954:12001 */\n mstore\n /* \"#utility.yul\":12018:12149 */\n tag_299\n /* \"#utility.yul\":12144:12148 */\n dup2\n /* \"#utility.yul\":12018:12149 */\n tag_188\n jump\t// in\n tag_299:\n /* \"#utility.yul\":12010:12149 */\n swap1\n pop\n /* \"#utility.yul\":11737:12156 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033\n}\n", + "bytecode": { + "functionDebugData": { + "@_2144": { + "entryPoint": null, + "id": 2144, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_2452": { + "entryPoint": null, + "id": 2452, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@_2502": { + "entryPoint": null, + "id": 2502, + "parameterSlots": 1, + "returnSlots": 0 + }, + "abi_decode_t_contract$_IEAS_$1964_fromMemory": { + "entryPoint": 334, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_contract$_IEAS_$1964_fromMemory": { + "entryPoint": 354, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 278, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_IEAS_$1964": { + "entryPoint": 295, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 247, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 243, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "validator_revert_t_contract$_IEAS_$1964": { + "entryPoint": 312, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:1392:13", + "nodeType": "YulBlock", + "src": "0:1392:13", + "statements": [ + { + "body": { + "nativeSrc": "47:35:13", + "nodeType": "YulBlock", + "src": "47:35:13", + "statements": [ + { + "nativeSrc": "57:19:13", + "nodeType": "YulAssignment", + "src": "57:19:13", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:13", + "nodeType": "YulLiteral", + "src": "73:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:13", + "nodeType": "YulIdentifier", + "src": "67:5:13" + }, + "nativeSrc": "67:9:13", + "nodeType": "YulFunctionCall", + "src": "67:9:13" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:13", + "nodeType": "YulIdentifier", + "src": "57:6:13" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:13", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:13", + "nodeType": "YulTypedName", + "src": "40:6:13", + "type": "" + } + ], + "src": "7:75:13" + }, + { + "body": { + "nativeSrc": "177:28:13", + "nodeType": "YulBlock", + "src": "177:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:13", + "nodeType": "YulLiteral", + "src": "194:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:13", + "nodeType": "YulLiteral", + "src": "197:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:13", + "nodeType": "YulIdentifier", + "src": "187:6:13" + }, + "nativeSrc": "187:12:13", + "nodeType": "YulFunctionCall", + "src": "187:12:13" + }, + "nativeSrc": "187:12:13", + "nodeType": "YulExpressionStatement", + "src": "187:12:13" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:13", + "nodeType": "YulFunctionDefinition", + "src": "88:117:13" + }, + { + "body": { + "nativeSrc": "300:28:13", + "nodeType": "YulBlock", + "src": "300:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:13", + "nodeType": "YulLiteral", + "src": "317:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:13", + "nodeType": "YulLiteral", + "src": "320:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:13", + "nodeType": "YulIdentifier", + "src": "310:6:13" + }, + "nativeSrc": "310:12:13", + "nodeType": "YulFunctionCall", + "src": "310:12:13" + }, + "nativeSrc": "310:12:13", + "nodeType": "YulExpressionStatement", + "src": "310:12:13" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:13", + "nodeType": "YulFunctionDefinition", + "src": "211:117:13" + }, + { + "body": { + "nativeSrc": "379:81:13", + "nodeType": "YulBlock", + "src": "379:81:13", + "statements": [ + { + "nativeSrc": "389:65:13", + "nodeType": "YulAssignment", + "src": "389:65:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "404:5:13", + "nodeType": "YulIdentifier", + "src": "404:5:13" + }, + { + "kind": "number", + "nativeSrc": "411:42:13", + "nodeType": "YulLiteral", + "src": "411:42:13", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "400:3:13", + "nodeType": "YulIdentifier", + "src": "400:3:13" + }, + "nativeSrc": "400:54:13", + "nodeType": "YulFunctionCall", + "src": "400:54:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:13", + "nodeType": "YulIdentifier", + "src": "389:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "334:126:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:13", + "nodeType": "YulTypedName", + "src": "361:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:13", + "nodeType": "YulTypedName", + "src": "371:7:13", + "type": "" + } + ], + "src": "334:126:13" + }, + { + "body": { + "nativeSrc": "511:51:13", + "nodeType": "YulBlock", + "src": "511:51:13", + "statements": [ + { + "nativeSrc": "521:35:13", + "nodeType": "YulAssignment", + "src": "521:35:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "550:5:13", + "nodeType": "YulIdentifier", + "src": "550:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "532:17:13", + "nodeType": "YulIdentifier", + "src": "532:17:13" + }, + "nativeSrc": "532:24:13", + "nodeType": "YulFunctionCall", + "src": "532:24:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "521:7:13", + "nodeType": "YulIdentifier", + "src": "521:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "466:96:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "493:5:13", + "nodeType": "YulTypedName", + "src": "493:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "503:7:13", + "nodeType": "YulTypedName", + "src": "503:7:13", + "type": "" + } + ], + "src": "466:96:13" + }, + { + "body": { + "nativeSrc": "626:51:13", + "nodeType": "YulBlock", + "src": "626:51:13", + "statements": [ + { + "nativeSrc": "636:35:13", + "nodeType": "YulAssignment", + "src": "636:35:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "665:5:13", + "nodeType": "YulIdentifier", + "src": "665:5:13" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "647:17:13", + "nodeType": "YulIdentifier", + "src": "647:17:13" + }, + "nativeSrc": "647:24:13", + "nodeType": "YulFunctionCall", + "src": "647:24:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "636:7:13", + "nodeType": "YulIdentifier", + "src": "636:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_IEAS_$1964", + "nativeSrc": "568:109:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "608:5:13", + "nodeType": "YulTypedName", + "src": "608:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "618:7:13", + "nodeType": "YulTypedName", + "src": "618:7:13", + "type": "" + } + ], + "src": "568:109:13" + }, + { + "body": { + "nativeSrc": "739:92:13", + "nodeType": "YulBlock", + "src": "739:92:13", + "statements": [ + { + "body": { + "nativeSrc": "809:16:13", + "nodeType": "YulBlock", + "src": "809:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "818:1:13", + "nodeType": "YulLiteral", + "src": "818:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "821:1:13", + "nodeType": "YulLiteral", + "src": "821:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "811:6:13", + "nodeType": "YulIdentifier", + "src": "811:6:13" + }, + "nativeSrc": "811:12:13", + "nodeType": "YulFunctionCall", + "src": "811:12:13" + }, + "nativeSrc": "811:12:13", + "nodeType": "YulExpressionStatement", + "src": "811:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "762:5:13", + "nodeType": "YulIdentifier", + "src": "762:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "800:5:13", + "nodeType": "YulIdentifier", + "src": "800:5:13" + } + ], + "functionName": { + "name": "cleanup_t_contract$_IEAS_$1964", + "nativeSrc": "769:30:13", + "nodeType": "YulIdentifier", + "src": "769:30:13" + }, + "nativeSrc": "769:37:13", + "nodeType": "YulFunctionCall", + "src": "769:37:13" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "759:2:13", + "nodeType": "YulIdentifier", + "src": "759:2:13" + }, + "nativeSrc": "759:48:13", + "nodeType": "YulFunctionCall", + "src": "759:48:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "752:6:13", + "nodeType": "YulIdentifier", + "src": "752:6:13" + }, + "nativeSrc": "752:56:13", + "nodeType": "YulFunctionCall", + "src": "752:56:13" + }, + "nativeSrc": "749:76:13", + "nodeType": "YulIf", + "src": "749:76:13" + } + ] + }, + "name": "validator_revert_t_contract$_IEAS_$1964", + "nativeSrc": "683:148:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "732:5:13", + "nodeType": "YulTypedName", + "src": "732:5:13", + "type": "" + } + ], + "src": "683:148:13" + }, + { + "body": { + "nativeSrc": "913:93:13", + "nodeType": "YulBlock", + "src": "913:93:13", + "statements": [ + { + "nativeSrc": "923:22:13", + "nodeType": "YulAssignment", + "src": "923:22:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "938:6:13", + "nodeType": "YulIdentifier", + "src": "938:6:13" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "932:5:13", + "nodeType": "YulIdentifier", + "src": "932:5:13" + }, + "nativeSrc": "932:13:13", + "nodeType": "YulFunctionCall", + "src": "932:13:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "923:5:13", + "nodeType": "YulIdentifier", + "src": "923:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "994:5:13", + "nodeType": "YulIdentifier", + "src": "994:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_IEAS_$1964", + "nativeSrc": "954:39:13", + "nodeType": "YulIdentifier", + "src": "954:39:13" + }, + "nativeSrc": "954:46:13", + "nodeType": "YulFunctionCall", + "src": "954:46:13" + }, + "nativeSrc": "954:46:13", + "nodeType": "YulExpressionStatement", + "src": "954:46:13" + } + ] + }, + "name": "abi_decode_t_contract$_IEAS_$1964_fromMemory", + "nativeSrc": "837:169:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "891:6:13", + "nodeType": "YulTypedName", + "src": "891:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "899:3:13", + "nodeType": "YulTypedName", + "src": "899:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "907:5:13", + "nodeType": "YulTypedName", + "src": "907:5:13", + "type": "" + } + ], + "src": "837:169:13" + }, + { + "body": { + "nativeSrc": "1102:287:13", + "nodeType": "YulBlock", + "src": "1102:287:13", + "statements": [ + { + "body": { + "nativeSrc": "1148:83:13", + "nodeType": "YulBlock", + "src": "1148:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1150:77:13", + "nodeType": "YulIdentifier", + "src": "1150:77:13" + }, + "nativeSrc": "1150:79:13", + "nodeType": "YulFunctionCall", + "src": "1150:79:13" + }, + "nativeSrc": "1150:79:13", + "nodeType": "YulExpressionStatement", + "src": "1150:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "1123:7:13", + "nodeType": "YulIdentifier", + "src": "1123:7:13" + }, + { + "name": "headStart", + "nativeSrc": "1132:9:13", + "nodeType": "YulIdentifier", + "src": "1132:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1119:3:13", + "nodeType": "YulIdentifier", + "src": "1119:3:13" + }, + "nativeSrc": "1119:23:13", + "nodeType": "YulFunctionCall", + "src": "1119:23:13" + }, + { + "kind": "number", + "nativeSrc": "1144:2:13", + "nodeType": "YulLiteral", + "src": "1144:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1115:3:13", + "nodeType": "YulIdentifier", + "src": "1115:3:13" + }, + "nativeSrc": "1115:32:13", + "nodeType": "YulFunctionCall", + "src": "1115:32:13" + }, + "nativeSrc": "1112:119:13", + "nodeType": "YulIf", + "src": "1112:119:13" + }, + { + "nativeSrc": "1241:141:13", + "nodeType": "YulBlock", + "src": "1241:141:13", + "statements": [ + { + "nativeSrc": "1256:15:13", + "nodeType": "YulVariableDeclaration", + "src": "1256:15:13", + "value": { + "kind": "number", + "nativeSrc": "1270:1:13", + "nodeType": "YulLiteral", + "src": "1270:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1260:6:13", + "nodeType": "YulTypedName", + "src": "1260:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "1285:87:13", + "nodeType": "YulAssignment", + "src": "1285:87:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1344:9:13", + "nodeType": "YulIdentifier", + "src": "1344:9:13" + }, + { + "name": "offset", + "nativeSrc": "1355:6:13", + "nodeType": "YulIdentifier", + "src": "1355:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1340:3:13", + "nodeType": "YulIdentifier", + "src": "1340:3:13" + }, + "nativeSrc": "1340:22:13", + "nodeType": "YulFunctionCall", + "src": "1340:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "1364:7:13", + "nodeType": "YulIdentifier", + "src": "1364:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_IEAS_$1964_fromMemory", + "nativeSrc": "1295:44:13", + "nodeType": "YulIdentifier", + "src": "1295:44:13" + }, + "nativeSrc": "1295:77:13", + "nodeType": "YulFunctionCall", + "src": "1295:77:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1285:6:13", + "nodeType": "YulIdentifier", + "src": "1285:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_IEAS_$1964_fromMemory", + "nativeSrc": "1012:377:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1072:9:13", + "nodeType": "YulTypedName", + "src": "1072:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "1083:7:13", + "nodeType": "YulTypedName", + "src": "1083:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "1095:6:13", + "nodeType": "YulTypedName", + "src": "1095:6:13", + "type": "" + } + ], + "src": "1012:377:13" + } + ] + }, + "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 cleanup_t_contract$_IEAS_$1964(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_IEAS_$1964(value) {\n if iszero(eq(value, cleanup_t_contract$_IEAS_$1964(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_IEAS_$1964_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_IEAS_$1964(value)\n }\n\n function abi_decode_tuple_t_contract$_IEAS_$1964_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_contract$_IEAS_$1964_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", + "id": 13, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "610100604052348015610010575f80fd5b5060405161116138038061116183398181016040528101906100329190610162565b80600160035f82608081815250508160a081815250508060c081815250505050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100b8576040517f83780ffe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050505061018d565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610120826100f7565b9050919050565b5f61013182610116565b9050919050565b61014181610127565b811461014b575f80fd5b50565b5f8151905061015c81610138565b92915050565b5f60208284031215610177576101766100f3565b5b5f6101848482850161014e565b91505092915050565b60805160a05160c05160e051610fa16101c05f395f61058601525f61021201525f6101e901525f6101c00152610fa15ff3fe608060405260043610610058575f3560e01c806354fd4d50146100a157806388e5b2d9146100cb57806391db0b7e146100fb578063ce46e0461461012b578063e49617e114610155578063e60c3505146101855761009d565b3661009d576100656101b5565b61009b576040517f1574f9f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b3480156100ac575f80fd5b506100b56101b9565b6040516100c29190610a5f565b60405180910390f35b6100e560048036038101906100e09190610b3d565b61025c565b6040516100f29190610bd5565b60405180910390f35b61011560048036038101906101109190610b3d565b610371565b6040516101229190610bd5565b60405180910390f35b348015610136575f80fd5b5061013f6101b5565b60405161014c9190610bd5565b60405180910390f35b61016f600480360381019061016a9190610c11565b610486565b60405161017c9190610bd5565b60405180910390f35b61019f600480360381019061019a9190610c11565b6104a0565b6040516101ac9190610bd5565b60405180910390f35b5f90565b60606101e47f00000000000000000000000000000000000000000000000000000000000000006104ba565b61020d7f00000000000000000000000000000000000000000000000000000000000000006104ba565b6102367f00000000000000000000000000000000000000000000000000000000000000006104ba565b60405160200161024893929190610cdc565b604051602081830303815290604052905090565b5f610265610584565b5f8585905090508383905081146102a8576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610361575f8686838181106102ca576102c9610d22565b5b9050602002013590508281111561030d576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033b89898481811061032357610322610d22565b5b90506020028101906103359190610d5b565b8261060b565b61034b575f945050505050610369565b80830392505061035a81610616565b90506102ae565b506001925050505b949350505050565b5f61037a610584565b5f8585905090508383905081146103bd576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610476575f8686838181106103df576103de610d22565b5b90506020020135905082811115610422576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045089898481811061043857610437610d22565b5b905060200281019061044a9190610d5b565b82610622565b610460575f94505050505061047e565b80830392505061046f81610616565b90506103c3565b506001925050505b949350505050565b5f61048f610584565b610499823461060b565b9050919050565b5f6104a9610584565b6104b38234610622565b9050919050565b60605f60016104c88461082e565b0190505f8167ffffffffffffffff8111156104e6576104e5610d83565b5b6040519080825280601f01601f1916602001820160405280156105185781602001600182028036833780820191505090505b5090505f82602001820190505b600115610579578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161056e5761056d610db0565b5b0494505f8503610525575b819350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610609576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6001905092915050565b5f600182019050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168360c001602081019061064d9190610e37565b73ffffffffffffffffffffffffffffffffffffffff16036106715760019050610828565b5f8360c00160208101906106859190610e37565b73ffffffffffffffffffffffffffffffffffffffff163b036106a9575f9050610828565b5f610705848061012001906106be9190610e62565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061097f565b90508073ffffffffffffffffffffffffffffffffffffffff168460c00160208101906107319190610e37565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f915050610828565b5f8460c00160208101906107699190610e37565b90508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107d357506040513d601f19601f820116820180604052508101906107d09190610ed8565b60015b6107e1575f92505050610828565b8073ffffffffffffffffffffffffffffffffffffffff168660e001602081019061080b9190610e37565b73ffffffffffffffffffffffffffffffffffffffff161493505050505b92915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061088a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816108805761087f610db0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106108c7576d04ee2d6d415b85acef810000000083816108bd576108bc610db0565b5b0492506020810190505b662386f26fc1000083106108f657662386f26fc1000083816108ec576108eb610db0565b5b0492506010810190505b6305f5e100831061091f576305f5e100838161091557610914610db0565b5b0492506008810190505b612710831061094457612710838161093a57610939610db0565b5b0492506004810190505b60648310610967576064838161095d5761095c610db0565b5b0492506002810190505b600a8310610976576001810190505b80915050919050565b5f6020825110156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90610f4d565b60405180910390fd5b5f6020830151905073ffffffffffffffffffffffffffffffffffffffff8116905080915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610a31826109ef565b610a3b81856109f9565b9350610a4b818560208601610a09565b610a5481610a17565b840191505092915050565b5f6020820190508181035f830152610a778184610a27565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610aa857610aa7610a87565b5b8235905067ffffffffffffffff811115610ac557610ac4610a8b565b5b602083019150836020820283011115610ae157610ae0610a8f565b5b9250929050565b5f8083601f840112610afd57610afc610a87565b5b8235905067ffffffffffffffff811115610b1a57610b19610a8b565b5b602083019150836020820283011115610b3657610b35610a8f565b5b9250929050565b5f805f8060408587031215610b5557610b54610a7f565b5b5f85013567ffffffffffffffff811115610b7257610b71610a83565b5b610b7e87828801610a93565b9450945050602085013567ffffffffffffffff811115610ba157610ba0610a83565b5b610bad87828801610ae8565b925092505092959194509250565b5f8115159050919050565b610bcf81610bbb565b82525050565b5f602082019050610be85f830184610bc6565b92915050565b5f80fd5b5f6101408284031215610c0857610c07610bee565b5b81905092915050565b5f60208284031215610c2657610c25610a7f565b5b5f82013567ffffffffffffffff811115610c4357610c42610a83565b5b610c4f84828501610bf2565b91505092915050565b5f81905092915050565b5f610c6c826109ef565b610c768185610c58565b9350610c86818560208601610a09565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610cc6600183610c58565b9150610cd182610c92565b600182019050919050565b5f610ce78286610c62565b9150610cf282610cba565b9150610cfe8285610c62565b9150610d0982610cba565b9150610d158284610c62565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f8235600161014003833603038112610d7757610d76610d4f565b5b80830191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0682610ddd565b9050919050565b610e1681610dfc565b8114610e20575f80fd5b50565b5f81359050610e3181610e0d565b92915050565b5f60208284031215610e4c57610e4b610a7f565b5b5f610e5984828501610e23565b91505092915050565b5f8083356001602003843603038112610e7e57610e7d610d4f565b5b80840192508235915067ffffffffffffffff821115610ea057610e9f610d53565b5b602083019250600182023603831315610ebc57610ebb610d57565b5b509250929050565b5f81519050610ed281610e0d565b92915050565b5f60208284031215610eed57610eec610a7f565b5b5f610efa84828501610ec4565b91505092915050565b7f4461746120746f6f2073686f72740000000000000000000000000000000000005f82015250565b5f610f37600e836109f9565b9150610f4282610f03565b602082019050919050565b5f6020820190508181035f830152610f6481610f2b565b905091905056fea2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", + "opcodes": "PUSH2 0x100 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1161 CODESIZE SUB DUP1 PUSH2 0x1161 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x162 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x3 PUSH0 DUP3 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP2 PUSH1 0xA0 DUP2 DUP2 MSTORE POP POP DUP1 PUSH1 0xC0 DUP2 DUP2 MSTORE POP POP POP POP POP PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x83780FFE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xE0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP POP PUSH2 0x18D JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x120 DUP3 PUSH2 0xF7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x131 DUP3 PUSH2 0x116 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x141 DUP2 PUSH2 0x127 JUMP JUMPDEST DUP2 EQ PUSH2 0x14B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x15C DUP2 PUSH2 0x138 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x177 JUMPI PUSH2 0x176 PUSH2 0xF3 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x184 DUP5 DUP3 DUP6 ADD PUSH2 0x14E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH2 0xFA1 PUSH2 0x1C0 PUSH0 CODECOPY PUSH0 PUSH2 0x586 ADD MSTORE PUSH0 PUSH2 0x212 ADD MSTORE PUSH0 PUSH2 0x1E9 ADD MSTORE PUSH0 PUSH2 0x1C0 ADD MSTORE PUSH2 0xFA1 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x58 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x88E5B2D9 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x91DB0B7E EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xCE46E046 EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0xE49617E1 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0xE60C3505 EQ PUSH2 0x185 JUMPI PUSH2 0x9D JUMP JUMPDEST CALLDATASIZE PUSH2 0x9D JUMPI PUSH2 0x65 PUSH2 0x1B5 JUMP JUMPDEST PUSH2 0x9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x1574F9F300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xA5F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0xB3D JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0xBD5 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 0xB3D JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x13F PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x486 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1E4 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x20D PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x236 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH2 0x265 PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x361 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x2CA JUMPI PUSH2 0x2C9 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x33B DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x335 SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x60B JUMP JUMPDEST PUSH2 0x34B JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x369 JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x35A DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x37A PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x3BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x3DF JUMPI PUSH2 0x3DE PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x422 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x450 DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x438 JUMPI PUSH2 0x437 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x44A SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x460 JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x47E JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x46F DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x3C3 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48F PUSH2 0x584 JUMP JUMPDEST PUSH2 0x499 DUP3 CALLVALUE PUSH2 0x60B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x4A9 PUSH2 0x584 JUMP JUMPDEST PUSH2 0x4B3 DUP3 CALLVALUE PUSH2 0x622 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0x4C8 DUP5 PUSH2 0x82E JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E6 JUMPI PUSH2 0x4E5 PUSH2 0xD83 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x579 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x525 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4CA8886700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x671 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x685 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0x6A9 JUMPI PUSH0 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 PUSH2 0x705 DUP5 DUP1 PUSH2 0x120 ADD SWAP1 PUSH2 0x6BE SWAP2 SWAP1 PUSH2 0xE62 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 PUSH0 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 PUSH2 0x97F JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x731 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x755 JUMPI PUSH0 SWAP2 POP POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x769 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x7D3 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x7E1 JUMPI PUSH0 SWAP3 POP POP POP PUSH2 0x828 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH1 0xE0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x80B SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x88A JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x880 JUMPI PUSH2 0x87F PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x8C7 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x8BD JUMPI PUSH2 0x8BC PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x8F6 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x8EC JUMPI PUSH2 0x8EB PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x91F JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x915 JUMPI PUSH2 0x914 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x944 JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x967 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x95D JUMPI PUSH2 0x95C PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x976 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 MLOAD LT ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BC SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x20 DUP4 ADD MLOAD SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA31 DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xA3B DUP2 DUP6 PUSH2 0x9F9 JUMP JUMPDEST SWAP4 POP PUSH2 0xA4B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0xA17 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA77 DUP2 DUP5 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAA8 JUMPI PUSH2 0xAA7 PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAC5 JUMPI PUSH2 0xAC4 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAE1 JUMPI PUSH2 0xAE0 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAFD JUMPI PUSH2 0xAFC PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xB36 JUMPI PUSH2 0xB35 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB55 JUMPI PUSH2 0xB54 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB72 JUMPI PUSH2 0xB71 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xB7E DUP8 DUP3 DUP9 ADD PUSH2 0xA93 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xBAD DUP8 DUP3 DUP9 ADD PUSH2 0xAE8 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCF DUP2 PUSH2 0xBBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH0 DUP4 ADD DUP5 PUSH2 0xBC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH2 0x140 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC08 JUMPI PUSH2 0xC07 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC43 JUMPI PUSH2 0xC42 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xC4F DUP5 DUP3 DUP6 ADD PUSH2 0xBF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6C DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xC76 DUP2 DUP6 PUSH2 0xC58 JUMP JUMPDEST SWAP4 POP PUSH2 0xC86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xCC6 PUSH1 0x1 DUP4 PUSH2 0xC58 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD1 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCE7 DUP3 DUP7 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xCF2 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xCFE DUP3 DUP6 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xD09 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xD15 DUP3 DUP5 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH2 0x140 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD77 JUMPI PUSH2 0xD76 PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE06 DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE16 DUP2 PUSH2 0xDFC JUMP JUMPDEST DUP2 EQ PUSH2 0xE20 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE31 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4C JUMPI PUSH2 0xE4B PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE59 DUP5 DUP3 DUP6 ADD PUSH2 0xE23 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xE7E JUMPI PUSH2 0xE7D PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xD53 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xD57 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xED2 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEED JUMPI PUSH2 0xEEC PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEFA DUP5 DUP3 DUP6 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4461746120746F6F2073686F7274000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xF37 PUSH1 0xE DUP4 PUSH2 0x9F9 JUMP JUMPDEST SWAP2 POP PUSH2 0xF42 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF64 DUP2 PUSH2 0xF2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE SWAP12 0xB2 0xC6 SWAP2 0xEB PUSH11 0x4020C67F4FBBD742291EF MUL TLOAD 0xD4 0xD0 SWAP11 SWAP5 GAS 0x4D NOT INVALID SELFDESTRUCT RETURNDATACOPY 0x4E PUSH3 0x64736F PUSH13 0x634300081A0033000000000000 ", + "sourceMap": "344:2067:12:-:0;;;400:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;437:3;676:1:10;679;682;768:5:11;759:14;;;;;;792:5;783:14;;;;;;816:5;807:14;;;;;;692:136;;;723:1:10::1;699:26;;707:3;699:26;;::::0;695:76:::1;;748:12;;;;;;;;;;;;;;695:76;788:3;781:10;;;;;;;;::::0;::::1;647:151:::0;400:44:12;344:2067;;88:117:13;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:109::-;618:7;647:24;665:5;647:24;:::i;:::-;636:35;;568:109;;;:::o;683:148::-;769:37;800:5;769:37;:::i;:::-;762:5;759:48;749:76;;821:1;818;811:12;749:76;683:148;:::o;837:169::-;907:5;938:6;932:13;923:22;;954:46;994:5;954:46;:::i;:::-;837:169;;;;:::o;1012:377::-;1095:6;1144:2;1132:9;1123:7;1119:23;1115:32;1112:119;;;1150:79;;:::i;:::-;1112:119;1270:1;1295:77;1364:7;1355:6;1344:9;1340:22;1295:77;:::i;:::-;1285:87;;1241:141;1012:377;;;;:::o;344:2067:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_2174": { + "entryPoint": null, + "id": 2174, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_onlyEAS_2413": { + "entryPoint": 1412, + "id": 2413, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@attest_2192": { + "entryPoint": 1184, + "id": 2192, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@extractAddressFromData_2598": { + "entryPoint": 2431, + "id": 2598, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isPayable_2161": { + "entryPoint": 437, + "id": 2161, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@log10_1306": { + "entryPoint": 2094, + "id": 1306, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@multiAttest_2274": { + "entryPoint": 881, + "id": 2274, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@multiRevoke_2374": { + "entryPoint": 604, + "id": 2374, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@onAttest_2576": { + "entryPoint": 1570, + "id": 2576, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@onRevoke_2612": { + "entryPoint": 1547, + "id": 2612, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@revoke_2292": { + "entryPoint": 1158, + "id": 2292, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@toString_245": { + "entryPoint": 1210, + "id": 245, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@uncheckedInc_1657": { + "entryPoint": 1558, + "id": 1657, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@version_2480": { + "entryPoint": 441, + "id": 2480, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 3619, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 3780, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr": { + "entryPoint": 2707, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr": { + "entryPoint": 2792, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_struct$_Attestation_$1641_calldata_ptr": { + "entryPoint": 3058, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 3639, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_fromMemory": { + "entryPoint": 3800, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr": { + "entryPoint": 2877, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr": { + "entryPoint": 3089, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 3014, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 2599, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 3170, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 3258, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack": { + "entryPoint": 3883, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 3292, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 3029, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 2655, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 3917, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "access_calldata_tail_t_bytes_calldata_ptr": { + "entryPoint": 3682, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "access_calldata_tail_t_struct$_Attestation_$1641_calldata_ptr": { + "entryPoint": 3419, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 2543, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 2553, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 3160, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 3580, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 3003, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 3549, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 2569, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "panic_error_0x12": { + "entryPoint": 3504, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 3362, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 3459, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 2699, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 2695, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a": { + "entryPoint": 3411, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d": { + "entryPoint": 3054, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad": { + "entryPoint": 3407, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 2703, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e": { + "entryPoint": 3415, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 2691, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 2687, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 2583, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf": { + "entryPoint": 3218, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94": { + "entryPoint": 3843, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 3597, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:12159:13", + "nodeType": "YulBlock", + "src": "0:12159:13", + "statements": [ + { + "body": { + "nativeSrc": "66:40:13", + "nodeType": "YulBlock", + "src": "66:40:13", + "statements": [ + { + "nativeSrc": "77:22:13", + "nodeType": "YulAssignment", + "src": "77:22:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "93:5:13", + "nodeType": "YulIdentifier", + "src": "93:5:13" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "87:5:13", + "nodeType": "YulIdentifier", + "src": "87:5:13" + }, + "nativeSrc": "87:12:13", + "nodeType": "YulFunctionCall", + "src": "87:12:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "77:6:13", + "nodeType": "YulIdentifier", + "src": "77:6:13" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "7:99:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "49:5:13", + "nodeType": "YulTypedName", + "src": "49:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "59:6:13", + "nodeType": "YulTypedName", + "src": "59:6:13", + "type": "" + } + ], + "src": "7:99:13" + }, + { + "body": { + "nativeSrc": "208:73:13", + "nodeType": "YulBlock", + "src": "208:73:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "225:3:13", + "nodeType": "YulIdentifier", + "src": "225:3:13" + }, + { + "name": "length", + "nativeSrc": "230:6:13", + "nodeType": "YulIdentifier", + "src": "230:6:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "218:6:13", + "nodeType": "YulIdentifier", + "src": "218:6:13" + }, + "nativeSrc": "218:19:13", + "nodeType": "YulFunctionCall", + "src": "218:19:13" + }, + "nativeSrc": "218:19:13", + "nodeType": "YulExpressionStatement", + "src": "218:19:13" + }, + { + "nativeSrc": "246:29:13", + "nodeType": "YulAssignment", + "src": "246:29:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "265:3:13", + "nodeType": "YulIdentifier", + "src": "265:3:13" + }, + { + "kind": "number", + "nativeSrc": "270:4:13", + "nodeType": "YulLiteral", + "src": "270:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "261:3:13", + "nodeType": "YulIdentifier", + "src": "261:3:13" + }, + "nativeSrc": "261:14:13", + "nodeType": "YulFunctionCall", + "src": "261:14:13" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "246:11:13", + "nodeType": "YulIdentifier", + "src": "246:11:13" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "112:169:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "180:3:13", + "nodeType": "YulTypedName", + "src": "180:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "185:6:13", + "nodeType": "YulTypedName", + "src": "185:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "196:11:13", + "nodeType": "YulTypedName", + "src": "196:11:13", + "type": "" + } + ], + "src": "112:169:13" + }, + { + "body": { + "nativeSrc": "349:77:13", + "nodeType": "YulBlock", + "src": "349:77:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "366:3:13", + "nodeType": "YulIdentifier", + "src": "366:3:13" + }, + { + "name": "src", + "nativeSrc": "371:3:13", + "nodeType": "YulIdentifier", + "src": "371:3:13" + }, + { + "name": "length", + "nativeSrc": "376:6:13", + "nodeType": "YulIdentifier", + "src": "376:6:13" + } + ], + "functionName": { + "name": "mcopy", + "nativeSrc": "360:5:13", + "nodeType": "YulIdentifier", + "src": "360:5:13" + }, + "nativeSrc": "360:23:13", + "nodeType": "YulFunctionCall", + "src": "360:23:13" + }, + "nativeSrc": "360:23:13", + "nodeType": "YulExpressionStatement", + "src": "360:23:13" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "403:3:13", + "nodeType": "YulIdentifier", + "src": "403:3:13" + }, + { + "name": "length", + "nativeSrc": "408:6:13", + "nodeType": "YulIdentifier", + "src": "408:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "399:3:13", + "nodeType": "YulIdentifier", + "src": "399:3:13" + }, + "nativeSrc": "399:16:13", + "nodeType": "YulFunctionCall", + "src": "399:16:13" + }, + { + "kind": "number", + "nativeSrc": "417:1:13", + "nodeType": "YulLiteral", + "src": "417:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "392:6:13", + "nodeType": "YulIdentifier", + "src": "392:6:13" + }, + "nativeSrc": "392:27:13", + "nodeType": "YulFunctionCall", + "src": "392:27:13" + }, + "nativeSrc": "392:27:13", + "nodeType": "YulExpressionStatement", + "src": "392:27:13" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "287:139:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "331:3:13", + "nodeType": "YulTypedName", + "src": "331:3:13", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "336:3:13", + "nodeType": "YulTypedName", + "src": "336:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "341:6:13", + "nodeType": "YulTypedName", + "src": "341:6:13", + "type": "" + } + ], + "src": "287:139:13" + }, + { + "body": { + "nativeSrc": "480:54:13", + "nodeType": "YulBlock", + "src": "480:54:13", + "statements": [ + { + "nativeSrc": "490:38:13", + "nodeType": "YulAssignment", + "src": "490:38:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "508:5:13", + "nodeType": "YulIdentifier", + "src": "508:5:13" + }, + { + "kind": "number", + "nativeSrc": "515:2:13", + "nodeType": "YulLiteral", + "src": "515:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "504:3:13", + "nodeType": "YulIdentifier", + "src": "504:3:13" + }, + "nativeSrc": "504:14:13", + "nodeType": "YulFunctionCall", + "src": "504:14:13" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "524:2:13", + "nodeType": "YulLiteral", + "src": "524:2:13", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "520:3:13", + "nodeType": "YulIdentifier", + "src": "520:3:13" + }, + "nativeSrc": "520:7:13", + "nodeType": "YulFunctionCall", + "src": "520:7:13" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "500:3:13", + "nodeType": "YulIdentifier", + "src": "500:3:13" + }, + "nativeSrc": "500:28:13", + "nodeType": "YulFunctionCall", + "src": "500:28:13" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "490:6:13", + "nodeType": "YulIdentifier", + "src": "490:6:13" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "432:102:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "463:5:13", + "nodeType": "YulTypedName", + "src": "463:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "473:6:13", + "nodeType": "YulTypedName", + "src": "473:6:13", + "type": "" + } + ], + "src": "432:102:13" + }, + { + "body": { + "nativeSrc": "632:285:13", + "nodeType": "YulBlock", + "src": "632:285:13", + "statements": [ + { + "nativeSrc": "642:53:13", + "nodeType": "YulVariableDeclaration", + "src": "642:53:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "689:5:13", + "nodeType": "YulIdentifier", + "src": "689:5:13" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "656:32:13", + "nodeType": "YulIdentifier", + "src": "656:32:13" + }, + "nativeSrc": "656:39:13", + "nodeType": "YulFunctionCall", + "src": "656:39:13" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "646:6:13", + "nodeType": "YulTypedName", + "src": "646:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "704:78:13", + "nodeType": "YulAssignment", + "src": "704:78:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "770:3:13", + "nodeType": "YulIdentifier", + "src": "770:3:13" + }, + { + "name": "length", + "nativeSrc": "775:6:13", + "nodeType": "YulIdentifier", + "src": "775:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "711:58:13", + "nodeType": "YulIdentifier", + "src": "711:58:13" + }, + "nativeSrc": "711:71:13", + "nodeType": "YulFunctionCall", + "src": "711:71:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "704:3:13", + "nodeType": "YulIdentifier", + "src": "704:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "830:5:13", + "nodeType": "YulIdentifier", + "src": "830:5:13" + }, + { + "kind": "number", + "nativeSrc": "837:4:13", + "nodeType": "YulLiteral", + "src": "837:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "826:3:13", + "nodeType": "YulIdentifier", + "src": "826:3:13" + }, + "nativeSrc": "826:16:13", + "nodeType": "YulFunctionCall", + "src": "826:16:13" + }, + { + "name": "pos", + "nativeSrc": "844:3:13", + "nodeType": "YulIdentifier", + "src": "844:3:13" + }, + { + "name": "length", + "nativeSrc": "849:6:13", + "nodeType": "YulIdentifier", + "src": "849:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "791:34:13", + "nodeType": "YulIdentifier", + "src": "791:34:13" + }, + "nativeSrc": "791:65:13", + "nodeType": "YulFunctionCall", + "src": "791:65:13" + }, + "nativeSrc": "791:65:13", + "nodeType": "YulExpressionStatement", + "src": "791:65:13" + }, + { + "nativeSrc": "865:46:13", + "nodeType": "YulAssignment", + "src": "865:46:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "876:3:13", + "nodeType": "YulIdentifier", + "src": "876:3:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "903:6:13", + "nodeType": "YulIdentifier", + "src": "903:6:13" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "881:21:13", + "nodeType": "YulIdentifier", + "src": "881:21:13" + }, + "nativeSrc": "881:29:13", + "nodeType": "YulFunctionCall", + "src": "881:29:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "872:3:13", + "nodeType": "YulIdentifier", + "src": "872:3:13" + }, + "nativeSrc": "872:39:13", + "nodeType": "YulFunctionCall", + "src": "872:39:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "865:3:13", + "nodeType": "YulIdentifier", + "src": "865:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "540:377:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "613:5:13", + "nodeType": "YulTypedName", + "src": "613:5:13", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "620:3:13", + "nodeType": "YulTypedName", + "src": "620:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "628:3:13", + "nodeType": "YulTypedName", + "src": "628:3:13", + "type": "" + } + ], + "src": "540:377:13" + }, + { + "body": { + "nativeSrc": "1041:195:13", + "nodeType": "YulBlock", + "src": "1041:195:13", + "statements": [ + { + "nativeSrc": "1051:26:13", + "nodeType": "YulAssignment", + "src": "1051:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1063:9:13", + "nodeType": "YulIdentifier", + "src": "1063:9:13" + }, + { + "kind": "number", + "nativeSrc": "1074:2:13", + "nodeType": "YulLiteral", + "src": "1074:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1059:3:13", + "nodeType": "YulIdentifier", + "src": "1059:3:13" + }, + "nativeSrc": "1059:18:13", + "nodeType": "YulFunctionCall", + "src": "1059:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1051:4:13", + "nodeType": "YulIdentifier", + "src": "1051:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1098:9:13", + "nodeType": "YulIdentifier", + "src": "1098:9:13" + }, + { + "kind": "number", + "nativeSrc": "1109:1:13", + "nodeType": "YulLiteral", + "src": "1109:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1094:3:13", + "nodeType": "YulIdentifier", + "src": "1094:3:13" + }, + "nativeSrc": "1094:17:13", + "nodeType": "YulFunctionCall", + "src": "1094:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "1117:4:13", + "nodeType": "YulIdentifier", + "src": "1117:4:13" + }, + { + "name": "headStart", + "nativeSrc": "1123:9:13", + "nodeType": "YulIdentifier", + "src": "1123:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1113:3:13", + "nodeType": "YulIdentifier", + "src": "1113:3:13" + }, + "nativeSrc": "1113:20:13", + "nodeType": "YulFunctionCall", + "src": "1113:20:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1087:6:13", + "nodeType": "YulIdentifier", + "src": "1087:6:13" + }, + "nativeSrc": "1087:47:13", + "nodeType": "YulFunctionCall", + "src": "1087:47:13" + }, + "nativeSrc": "1087:47:13", + "nodeType": "YulExpressionStatement", + "src": "1087:47:13" + }, + { + "nativeSrc": "1143:86:13", + "nodeType": "YulAssignment", + "src": "1143:86:13", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1215:6:13", + "nodeType": "YulIdentifier", + "src": "1215:6:13" + }, + { + "name": "tail", + "nativeSrc": "1224:4:13", + "nodeType": "YulIdentifier", + "src": "1224:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "1151:63:13", + "nodeType": "YulIdentifier", + "src": "1151:63:13" + }, + "nativeSrc": "1151:78:13", + "nodeType": "YulFunctionCall", + "src": "1151:78:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1143:4:13", + "nodeType": "YulIdentifier", + "src": "1143:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "923:313:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1013:9:13", + "nodeType": "YulTypedName", + "src": "1013:9:13", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1025:6:13", + "nodeType": "YulTypedName", + "src": "1025:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1036:4:13", + "nodeType": "YulTypedName", + "src": "1036:4:13", + "type": "" + } + ], + "src": "923:313:13" + }, + { + "body": { + "nativeSrc": "1282:35:13", + "nodeType": "YulBlock", + "src": "1282:35:13", + "statements": [ + { + "nativeSrc": "1292:19:13", + "nodeType": "YulAssignment", + "src": "1292:19:13", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1308:2:13", + "nodeType": "YulLiteral", + "src": "1308:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1302:5:13", + "nodeType": "YulIdentifier", + "src": "1302:5:13" + }, + "nativeSrc": "1302:9:13", + "nodeType": "YulFunctionCall", + "src": "1302:9:13" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1292:6:13", + "nodeType": "YulIdentifier", + "src": "1292:6:13" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "1242:75:13", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1275:6:13", + "nodeType": "YulTypedName", + "src": "1275:6:13", + "type": "" + } + ], + "src": "1242:75:13" + }, + { + "body": { + "nativeSrc": "1412:28:13", + "nodeType": "YulBlock", + "src": "1412:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1429:1:13", + "nodeType": "YulLiteral", + "src": "1429:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1432:1:13", + "nodeType": "YulLiteral", + "src": "1432:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1422:6:13", + "nodeType": "YulIdentifier", + "src": "1422:6:13" + }, + "nativeSrc": "1422:12:13", + "nodeType": "YulFunctionCall", + "src": "1422:12:13" + }, + "nativeSrc": "1422:12:13", + "nodeType": "YulExpressionStatement", + "src": "1422:12:13" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "1323:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1323:117:13" + }, + { + "body": { + "nativeSrc": "1535:28:13", + "nodeType": "YulBlock", + "src": "1535:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1552:1:13", + "nodeType": "YulLiteral", + "src": "1552:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1555:1:13", + "nodeType": "YulLiteral", + "src": "1555:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1545:6:13", + "nodeType": "YulIdentifier", + "src": "1545:6:13" + }, + "nativeSrc": "1545:12:13", + "nodeType": "YulFunctionCall", + "src": "1545:12:13" + }, + "nativeSrc": "1545:12:13", + "nodeType": "YulExpressionStatement", + "src": "1545:12:13" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "1446:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1446:117:13" + }, + { + "body": { + "nativeSrc": "1658:28:13", + "nodeType": "YulBlock", + "src": "1658:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1675:1:13", + "nodeType": "YulLiteral", + "src": "1675:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1678:1:13", + "nodeType": "YulLiteral", + "src": "1678:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1668:6:13", + "nodeType": "YulIdentifier", + "src": "1668:6:13" + }, + "nativeSrc": "1668:12:13", + "nodeType": "YulFunctionCall", + "src": "1668:12:13" + }, + "nativeSrc": "1668:12:13", + "nodeType": "YulExpressionStatement", + "src": "1668:12:13" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "1569:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1569:117:13" + }, + { + "body": { + "nativeSrc": "1781:28:13", + "nodeType": "YulBlock", + "src": "1781:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1798:1:13", + "nodeType": "YulLiteral", + "src": "1798:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1801:1:13", + "nodeType": "YulLiteral", + "src": "1801:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1791:6:13", + "nodeType": "YulIdentifier", + "src": "1791:6:13" + }, + "nativeSrc": "1791:12:13", + "nodeType": "YulFunctionCall", + "src": "1791:12:13" + }, + "nativeSrc": "1791:12:13", + "nodeType": "YulExpressionStatement", + "src": "1791:12:13" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "1692:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1692:117:13" + }, + { + "body": { + "nativeSrc": "1904:28:13", + "nodeType": "YulBlock", + "src": "1904:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1921:1:13", + "nodeType": "YulLiteral", + "src": "1921:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1924:1:13", + "nodeType": "YulLiteral", + "src": "1924:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1914:6:13", + "nodeType": "YulIdentifier", + "src": "1914:6:13" + }, + "nativeSrc": "1914:12:13", + "nodeType": "YulFunctionCall", + "src": "1914:12:13" + }, + "nativeSrc": "1914:12:13", + "nodeType": "YulExpressionStatement", + "src": "1914:12:13" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "1815:117:13", + "nodeType": "YulFunctionDefinition", + "src": "1815:117:13" + }, + { + "body": { + "nativeSrc": "2087:478:13", + "nodeType": "YulBlock", + "src": "2087:478:13", + "statements": [ + { + "body": { + "nativeSrc": "2136:83:13", + "nodeType": "YulBlock", + "src": "2136:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2138:77:13", + "nodeType": "YulIdentifier", + "src": "2138:77:13" + }, + "nativeSrc": "2138:79:13", + "nodeType": "YulFunctionCall", + "src": "2138:79:13" + }, + "nativeSrc": "2138:79:13", + "nodeType": "YulExpressionStatement", + "src": "2138:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2115:6:13", + "nodeType": "YulIdentifier", + "src": "2115:6:13" + }, + { + "kind": "number", + "nativeSrc": "2123:4:13", + "nodeType": "YulLiteral", + "src": "2123:4:13", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2111:3:13", + "nodeType": "YulIdentifier", + "src": "2111:3:13" + }, + "nativeSrc": "2111:17:13", + "nodeType": "YulFunctionCall", + "src": "2111:17:13" + }, + { + "name": "end", + "nativeSrc": "2130:3:13", + "nodeType": "YulIdentifier", + "src": "2130:3:13" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2107:3:13", + "nodeType": "YulIdentifier", + "src": "2107:3:13" + }, + "nativeSrc": "2107:27:13", + "nodeType": "YulFunctionCall", + "src": "2107:27:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2100:6:13", + "nodeType": "YulIdentifier", + "src": "2100:6:13" + }, + "nativeSrc": "2100:35:13", + "nodeType": "YulFunctionCall", + "src": "2100:35:13" + }, + "nativeSrc": "2097:122:13", + "nodeType": "YulIf", + "src": "2097:122:13" + }, + { + "nativeSrc": "2228:30:13", + "nodeType": "YulAssignment", + "src": "2228:30:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2251:6:13", + "nodeType": "YulIdentifier", + "src": "2251:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2238:12:13", + "nodeType": "YulIdentifier", + "src": "2238:12:13" + }, + "nativeSrc": "2238:20:13", + "nodeType": "YulFunctionCall", + "src": "2238:20:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "2228:6:13", + "nodeType": "YulIdentifier", + "src": "2228:6:13" + } + ] + }, + { + "body": { + "nativeSrc": "2301:83:13", + "nodeType": "YulBlock", + "src": "2301:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "2303:77:13", + "nodeType": "YulIdentifier", + "src": "2303:77:13" + }, + "nativeSrc": "2303:79:13", + "nodeType": "YulFunctionCall", + "src": "2303:79:13" + }, + "nativeSrc": "2303:79:13", + "nodeType": "YulExpressionStatement", + "src": "2303:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "2273:6:13", + "nodeType": "YulIdentifier", + "src": "2273:6:13" + }, + { + "kind": "number", + "nativeSrc": "2281:18:13", + "nodeType": "YulLiteral", + "src": "2281:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2270:2:13", + "nodeType": "YulIdentifier", + "src": "2270:2:13" + }, + "nativeSrc": "2270:30:13", + "nodeType": "YulFunctionCall", + "src": "2270:30:13" + }, + "nativeSrc": "2267:117:13", + "nodeType": "YulIf", + "src": "2267:117:13" + }, + { + "nativeSrc": "2393:29:13", + "nodeType": "YulAssignment", + "src": "2393:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2409:6:13", + "nodeType": "YulIdentifier", + "src": "2409:6:13" + }, + { + "kind": "number", + "nativeSrc": "2417:4:13", + "nodeType": "YulLiteral", + "src": "2417:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2405:3:13", + "nodeType": "YulIdentifier", + "src": "2405:3:13" + }, + "nativeSrc": "2405:17:13", + "nodeType": "YulFunctionCall", + "src": "2405:17:13" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "2393:8:13", + "nodeType": "YulIdentifier", + "src": "2393:8:13" + } + ] + }, + { + "body": { + "nativeSrc": "2476:83:13", + "nodeType": "YulBlock", + "src": "2476:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "2478:77:13", + "nodeType": "YulIdentifier", + "src": "2478:77:13" + }, + "nativeSrc": "2478:79:13", + "nodeType": "YulFunctionCall", + "src": "2478:79:13" + }, + "nativeSrc": "2478:79:13", + "nodeType": "YulExpressionStatement", + "src": "2478:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "2441:8:13", + "nodeType": "YulIdentifier", + "src": "2441:8:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2455:6:13", + "nodeType": "YulIdentifier", + "src": "2455:6:13" + }, + { + "kind": "number", + "nativeSrc": "2463:4:13", + "nodeType": "YulLiteral", + "src": "2463:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "2451:3:13", + "nodeType": "YulIdentifier", + "src": "2451:3:13" + }, + "nativeSrc": "2451:17:13", + "nodeType": "YulFunctionCall", + "src": "2451:17:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2437:3:13", + "nodeType": "YulIdentifier", + "src": "2437:3:13" + }, + "nativeSrc": "2437:32:13", + "nodeType": "YulFunctionCall", + "src": "2437:32:13" + }, + { + "name": "end", + "nativeSrc": "2471:3:13", + "nodeType": "YulIdentifier", + "src": "2471:3:13" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2434:2:13", + "nodeType": "YulIdentifier", + "src": "2434:2:13" + }, + "nativeSrc": "2434:41:13", + "nodeType": "YulFunctionCall", + "src": "2434:41:13" + }, + "nativeSrc": "2431:128:13", + "nodeType": "YulIf", + "src": "2431:128:13" + } + ] + }, + "name": "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "nativeSrc": "1966:599:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2054:6:13", + "nodeType": "YulTypedName", + "src": "2054:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2062:3:13", + "nodeType": "YulTypedName", + "src": "2062:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "2070:8:13", + "nodeType": "YulTypedName", + "src": "2070:8:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2080:6:13", + "nodeType": "YulTypedName", + "src": "2080:6:13", + "type": "" + } + ], + "src": "1966:599:13" + }, + { + "body": { + "nativeSrc": "2678:478:13", + "nodeType": "YulBlock", + "src": "2678:478:13", + "statements": [ + { + "body": { + "nativeSrc": "2727:83:13", + "nodeType": "YulBlock", + "src": "2727:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2729:77:13", + "nodeType": "YulIdentifier", + "src": "2729:77:13" + }, + "nativeSrc": "2729:79:13", + "nodeType": "YulFunctionCall", + "src": "2729:79:13" + }, + "nativeSrc": "2729:79:13", + "nodeType": "YulExpressionStatement", + "src": "2729:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2706:6:13", + "nodeType": "YulIdentifier", + "src": "2706:6:13" + }, + { + "kind": "number", + "nativeSrc": "2714:4:13", + "nodeType": "YulLiteral", + "src": "2714:4:13", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2702:3:13", + "nodeType": "YulIdentifier", + "src": "2702:3:13" + }, + "nativeSrc": "2702:17:13", + "nodeType": "YulFunctionCall", + "src": "2702:17:13" + }, + { + "name": "end", + "nativeSrc": "2721:3:13", + "nodeType": "YulIdentifier", + "src": "2721:3:13" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2698:3:13", + "nodeType": "YulIdentifier", + "src": "2698:3:13" + }, + "nativeSrc": "2698:27:13", + "nodeType": "YulFunctionCall", + "src": "2698:27:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2691:6:13", + "nodeType": "YulIdentifier", + "src": "2691:6:13" + }, + "nativeSrc": "2691:35:13", + "nodeType": "YulFunctionCall", + "src": "2691:35:13" + }, + "nativeSrc": "2688:122:13", + "nodeType": "YulIf", + "src": "2688:122:13" + }, + { + "nativeSrc": "2819:30:13", + "nodeType": "YulAssignment", + "src": "2819:30:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2842:6:13", + "nodeType": "YulIdentifier", + "src": "2842:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2829:12:13", + "nodeType": "YulIdentifier", + "src": "2829:12:13" + }, + "nativeSrc": "2829:20:13", + "nodeType": "YulFunctionCall", + "src": "2829:20:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "2819:6:13", + "nodeType": "YulIdentifier", + "src": "2819:6:13" + } + ] + }, + { + "body": { + "nativeSrc": "2892:83:13", + "nodeType": "YulBlock", + "src": "2892:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "2894:77:13", + "nodeType": "YulIdentifier", + "src": "2894:77:13" + }, + "nativeSrc": "2894:79:13", + "nodeType": "YulFunctionCall", + "src": "2894:79:13" + }, + "nativeSrc": "2894:79:13", + "nodeType": "YulExpressionStatement", + "src": "2894:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "2864:6:13", + "nodeType": "YulIdentifier", + "src": "2864:6:13" + }, + { + "kind": "number", + "nativeSrc": "2872:18:13", + "nodeType": "YulLiteral", + "src": "2872:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2861:2:13", + "nodeType": "YulIdentifier", + "src": "2861:2:13" + }, + "nativeSrc": "2861:30:13", + "nodeType": "YulFunctionCall", + "src": "2861:30:13" + }, + "nativeSrc": "2858:117:13", + "nodeType": "YulIf", + "src": "2858:117:13" + }, + { + "nativeSrc": "2984:29:13", + "nodeType": "YulAssignment", + "src": "2984:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3000:6:13", + "nodeType": "YulIdentifier", + "src": "3000:6:13" + }, + { + "kind": "number", + "nativeSrc": "3008:4:13", + "nodeType": "YulLiteral", + "src": "3008:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2996:3:13", + "nodeType": "YulIdentifier", + "src": "2996:3:13" + }, + "nativeSrc": "2996:17:13", + "nodeType": "YulFunctionCall", + "src": "2996:17:13" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "2984:8:13", + "nodeType": "YulIdentifier", + "src": "2984:8:13" + } + ] + }, + { + "body": { + "nativeSrc": "3067:83:13", + "nodeType": "YulBlock", + "src": "3067:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "3069:77:13", + "nodeType": "YulIdentifier", + "src": "3069:77:13" + }, + "nativeSrc": "3069:79:13", + "nodeType": "YulFunctionCall", + "src": "3069:79:13" + }, + "nativeSrc": "3069:79:13", + "nodeType": "YulExpressionStatement", + "src": "3069:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "3032:8:13", + "nodeType": "YulIdentifier", + "src": "3032:8:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "3046:6:13", + "nodeType": "YulIdentifier", + "src": "3046:6:13" + }, + { + "kind": "number", + "nativeSrc": "3054:4:13", + "nodeType": "YulLiteral", + "src": "3054:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "3042:3:13", + "nodeType": "YulIdentifier", + "src": "3042:3:13" + }, + "nativeSrc": "3042:17:13", + "nodeType": "YulFunctionCall", + "src": "3042:17:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3028:3:13", + "nodeType": "YulIdentifier", + "src": "3028:3:13" + }, + "nativeSrc": "3028:32:13", + "nodeType": "YulFunctionCall", + "src": "3028:32:13" + }, + { + "name": "end", + "nativeSrc": "3062:3:13", + "nodeType": "YulIdentifier", + "src": "3062:3:13" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3025:2:13", + "nodeType": "YulIdentifier", + "src": "3025:2:13" + }, + "nativeSrc": "3025:41:13", + "nodeType": "YulFunctionCall", + "src": "3025:41:13" + }, + "nativeSrc": "3022:128:13", + "nodeType": "YulIf", + "src": "3022:128:13" + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", + "nativeSrc": "2588:568:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2645:6:13", + "nodeType": "YulTypedName", + "src": "2645:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2653:3:13", + "nodeType": "YulTypedName", + "src": "2653:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "2661:8:13", + "nodeType": "YulTypedName", + "src": "2661:8:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2671:6:13", + "nodeType": "YulTypedName", + "src": "2671:6:13", + "type": "" + } + ], + "src": "2588:568:13" + }, + { + "body": { + "nativeSrc": "3346:812:13", + "nodeType": "YulBlock", + "src": "3346:812:13", + "statements": [ + { + "body": { + "nativeSrc": "3392:83:13", + "nodeType": "YulBlock", + "src": "3392:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3394:77:13", + "nodeType": "YulIdentifier", + "src": "3394:77:13" + }, + "nativeSrc": "3394:79:13", + "nodeType": "YulFunctionCall", + "src": "3394:79:13" + }, + "nativeSrc": "3394:79:13", + "nodeType": "YulExpressionStatement", + "src": "3394:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3367:7:13", + "nodeType": "YulIdentifier", + "src": "3367:7:13" + }, + { + "name": "headStart", + "nativeSrc": "3376:9:13", + "nodeType": "YulIdentifier", + "src": "3376:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3363:3:13", + "nodeType": "YulIdentifier", + "src": "3363:3:13" + }, + "nativeSrc": "3363:23:13", + "nodeType": "YulFunctionCall", + "src": "3363:23:13" + }, + { + "kind": "number", + "nativeSrc": "3388:2:13", + "nodeType": "YulLiteral", + "src": "3388:2:13", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3359:3:13", + "nodeType": "YulIdentifier", + "src": "3359:3:13" + }, + "nativeSrc": "3359:32:13", + "nodeType": "YulFunctionCall", + "src": "3359:32:13" + }, + "nativeSrc": "3356:119:13", + "nodeType": "YulIf", + "src": "3356:119:13" + }, + { + "nativeSrc": "3485:343:13", + "nodeType": "YulBlock", + "src": "3485:343:13", + "statements": [ + { + "nativeSrc": "3500:45:13", + "nodeType": "YulVariableDeclaration", + "src": "3500:45:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3531:9:13", + "nodeType": "YulIdentifier", + "src": "3531:9:13" + }, + { + "kind": "number", + "nativeSrc": "3542:1:13", + "nodeType": "YulLiteral", + "src": "3542:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3527:3:13", + "nodeType": "YulIdentifier", + "src": "3527:3:13" + }, + "nativeSrc": "3527:17:13", + "nodeType": "YulFunctionCall", + "src": "3527:17:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3514:12:13", + "nodeType": "YulIdentifier", + "src": "3514:12:13" + }, + "nativeSrc": "3514:31:13", + "nodeType": "YulFunctionCall", + "src": "3514:31:13" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3504:6:13", + "nodeType": "YulTypedName", + "src": "3504:6:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3592:83:13", + "nodeType": "YulBlock", + "src": "3592:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3594:77:13", + "nodeType": "YulIdentifier", + "src": "3594:77:13" + }, + "nativeSrc": "3594:79:13", + "nodeType": "YulFunctionCall", + "src": "3594:79:13" + }, + "nativeSrc": "3594:79:13", + "nodeType": "YulExpressionStatement", + "src": "3594:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3564:6:13", + "nodeType": "YulIdentifier", + "src": "3564:6:13" + }, + { + "kind": "number", + "nativeSrc": "3572:18:13", + "nodeType": "YulLiteral", + "src": "3572:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3561:2:13", + "nodeType": "YulIdentifier", + "src": "3561:2:13" + }, + "nativeSrc": "3561:30:13", + "nodeType": "YulFunctionCall", + "src": "3561:30:13" + }, + "nativeSrc": "3558:117:13", + "nodeType": "YulIf", + "src": "3558:117:13" + }, + { + "nativeSrc": "3689:129:13", + "nodeType": "YulAssignment", + "src": "3689:129:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3790:9:13", + "nodeType": "YulIdentifier", + "src": "3790:9:13" + }, + { + "name": "offset", + "nativeSrc": "3801:6:13", + "nodeType": "YulIdentifier", + "src": "3801:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3786:3:13", + "nodeType": "YulIdentifier", + "src": "3786:3:13" + }, + "nativeSrc": "3786:22:13", + "nodeType": "YulFunctionCall", + "src": "3786:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "3810:7:13", + "nodeType": "YulIdentifier", + "src": "3810:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "nativeSrc": "3707:78:13", + "nodeType": "YulIdentifier", + "src": "3707:78:13" + }, + "nativeSrc": "3707:111:13", + "nodeType": "YulFunctionCall", + "src": "3707:111:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "3689:6:13", + "nodeType": "YulIdentifier", + "src": "3689:6:13" + }, + { + "name": "value1", + "nativeSrc": "3697:6:13", + "nodeType": "YulIdentifier", + "src": "3697:6:13" + } + ] + } + ] + }, + { + "nativeSrc": "3838:313:13", + "nodeType": "YulBlock", + "src": "3838:313:13", + "statements": [ + { + "nativeSrc": "3853:46:13", + "nodeType": "YulVariableDeclaration", + "src": "3853:46:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3884:9:13", + "nodeType": "YulIdentifier", + "src": "3884:9:13" + }, + { + "kind": "number", + "nativeSrc": "3895:2:13", + "nodeType": "YulLiteral", + "src": "3895:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3880:3:13", + "nodeType": "YulIdentifier", + "src": "3880:3:13" + }, + "nativeSrc": "3880:18:13", + "nodeType": "YulFunctionCall", + "src": "3880:18:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3867:12:13", + "nodeType": "YulIdentifier", + "src": "3867:12:13" + }, + "nativeSrc": "3867:32:13", + "nodeType": "YulFunctionCall", + "src": "3867:32:13" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3857:6:13", + "nodeType": "YulTypedName", + "src": "3857:6:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3946:83:13", + "nodeType": "YulBlock", + "src": "3946:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "3948:77:13", + "nodeType": "YulIdentifier", + "src": "3948:77:13" + }, + "nativeSrc": "3948:79:13", + "nodeType": "YulFunctionCall", + "src": "3948:79:13" + }, + "nativeSrc": "3948:79:13", + "nodeType": "YulExpressionStatement", + "src": "3948:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3918:6:13", + "nodeType": "YulIdentifier", + "src": "3918:6:13" + }, + { + "kind": "number", + "nativeSrc": "3926:18:13", + "nodeType": "YulLiteral", + "src": "3926:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3915:2:13", + "nodeType": "YulIdentifier", + "src": "3915:2:13" + }, + "nativeSrc": "3915:30:13", + "nodeType": "YulFunctionCall", + "src": "3915:30:13" + }, + "nativeSrc": "3912:117:13", + "nodeType": "YulIf", + "src": "3912:117:13" + }, + { + "nativeSrc": "4043:98:13", + "nodeType": "YulAssignment", + "src": "4043:98:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4113:9:13", + "nodeType": "YulIdentifier", + "src": "4113:9:13" + }, + { + "name": "offset", + "nativeSrc": "4124:6:13", + "nodeType": "YulIdentifier", + "src": "4124:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4109:3:13", + "nodeType": "YulIdentifier", + "src": "4109:3:13" + }, + "nativeSrc": "4109:22:13", + "nodeType": "YulFunctionCall", + "src": "4109:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "4133:7:13", + "nodeType": "YulIdentifier", + "src": "4133:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", + "nativeSrc": "4061:47:13", + "nodeType": "YulIdentifier", + "src": "4061:47:13" + }, + "nativeSrc": "4061:80:13", + "nodeType": "YulFunctionCall", + "src": "4061:80:13" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4043:6:13", + "nodeType": "YulIdentifier", + "src": "4043:6:13" + }, + { + "name": "value3", + "nativeSrc": "4051:6:13", + "nodeType": "YulIdentifier", + "src": "4051:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr", + "nativeSrc": "3162:996:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3292:9:13", + "nodeType": "YulTypedName", + "src": "3292:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3303:7:13", + "nodeType": "YulTypedName", + "src": "3303:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3315:6:13", + "nodeType": "YulTypedName", + "src": "3315:6:13", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3323:6:13", + "nodeType": "YulTypedName", + "src": "3323:6:13", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3331:6:13", + "nodeType": "YulTypedName", + "src": "3331:6:13", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3339:6:13", + "nodeType": "YulTypedName", + "src": "3339:6:13", + "type": "" + } + ], + "src": "3162:996:13" + }, + { + "body": { + "nativeSrc": "4206:48:13", + "nodeType": "YulBlock", + "src": "4206:48:13", + "statements": [ + { + "nativeSrc": "4216:32:13", + "nodeType": "YulAssignment", + "src": "4216:32:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4241:5:13", + "nodeType": "YulIdentifier", + "src": "4241:5:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4234:6:13", + "nodeType": "YulIdentifier", + "src": "4234:6:13" + }, + "nativeSrc": "4234:13:13", + "nodeType": "YulFunctionCall", + "src": "4234:13:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4227:6:13", + "nodeType": "YulIdentifier", + "src": "4227:6:13" + }, + "nativeSrc": "4227:21:13", + "nodeType": "YulFunctionCall", + "src": "4227:21:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4216:7:13", + "nodeType": "YulIdentifier", + "src": "4216:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "4164:90:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4188:5:13", + "nodeType": "YulTypedName", + "src": "4188:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4198:7:13", + "nodeType": "YulTypedName", + "src": "4198:7:13", + "type": "" + } + ], + "src": "4164:90:13" + }, + { + "body": { + "nativeSrc": "4319:50:13", + "nodeType": "YulBlock", + "src": "4319:50:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4336:3:13", + "nodeType": "YulIdentifier", + "src": "4336:3:13" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4356:5:13", + "nodeType": "YulIdentifier", + "src": "4356:5:13" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "4341:14:13", + "nodeType": "YulIdentifier", + "src": "4341:14:13" + }, + "nativeSrc": "4341:21:13", + "nodeType": "YulFunctionCall", + "src": "4341:21:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4329:6:13", + "nodeType": "YulIdentifier", + "src": "4329:6:13" + }, + "nativeSrc": "4329:34:13", + "nodeType": "YulFunctionCall", + "src": "4329:34:13" + }, + "nativeSrc": "4329:34:13", + "nodeType": "YulExpressionStatement", + "src": "4329:34:13" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "4260:109:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4307:5:13", + "nodeType": "YulTypedName", + "src": "4307:5:13", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4314:3:13", + "nodeType": "YulTypedName", + "src": "4314:3:13", + "type": "" + } + ], + "src": "4260:109:13" + }, + { + "body": { + "nativeSrc": "4467:118:13", + "nodeType": "YulBlock", + "src": "4467:118:13", + "statements": [ + { + "nativeSrc": "4477:26:13", + "nodeType": "YulAssignment", + "src": "4477:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4489:9:13", + "nodeType": "YulIdentifier", + "src": "4489:9:13" + }, + { + "kind": "number", + "nativeSrc": "4500:2:13", + "nodeType": "YulLiteral", + "src": "4500:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4485:3:13", + "nodeType": "YulIdentifier", + "src": "4485:3:13" + }, + "nativeSrc": "4485:18:13", + "nodeType": "YulFunctionCall", + "src": "4485:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4477:4:13", + "nodeType": "YulIdentifier", + "src": "4477:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4551:6:13", + "nodeType": "YulIdentifier", + "src": "4551:6:13" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4564:9:13", + "nodeType": "YulIdentifier", + "src": "4564:9:13" + }, + { + "kind": "number", + "nativeSrc": "4575:1:13", + "nodeType": "YulLiteral", + "src": "4575:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4560:3:13", + "nodeType": "YulIdentifier", + "src": "4560:3:13" + }, + "nativeSrc": "4560:17:13", + "nodeType": "YulFunctionCall", + "src": "4560:17:13" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "4513:37:13", + "nodeType": "YulIdentifier", + "src": "4513:37:13" + }, + "nativeSrc": "4513:65:13", + "nodeType": "YulFunctionCall", + "src": "4513:65:13" + }, + "nativeSrc": "4513:65:13", + "nodeType": "YulExpressionStatement", + "src": "4513:65:13" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "4375:210:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4439:9:13", + "nodeType": "YulTypedName", + "src": "4439:9:13", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4451:6:13", + "nodeType": "YulTypedName", + "src": "4451:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4462:4:13", + "nodeType": "YulTypedName", + "src": "4462:4:13", + "type": "" + } + ], + "src": "4375:210:13" + }, + { + "body": { + "nativeSrc": "4680:28:13", + "nodeType": "YulBlock", + "src": "4680:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4697:1:13", + "nodeType": "YulLiteral", + "src": "4697:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4700:1:13", + "nodeType": "YulLiteral", + "src": "4700:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4690:6:13", + "nodeType": "YulIdentifier", + "src": "4690:6:13" + }, + "nativeSrc": "4690:12:13", + "nodeType": "YulFunctionCall", + "src": "4690:12:13" + }, + "nativeSrc": "4690:12:13", + "nodeType": "YulExpressionStatement", + "src": "4690:12:13" + } + ] + }, + "name": "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d", + "nativeSrc": "4591:117:13", + "nodeType": "YulFunctionDefinition", + "src": "4591:117:13" + }, + { + "body": { + "nativeSrc": "4823:153:13", + "nodeType": "YulBlock", + "src": "4823:153:13", + "statements": [ + { + "body": { + "nativeSrc": "4863:83:13", + "nodeType": "YulBlock", + "src": "4863:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d", + "nativeSrc": "4865:77:13", + "nodeType": "YulIdentifier", + "src": "4865:77:13" + }, + "nativeSrc": "4865:79:13", + "nodeType": "YulFunctionCall", + "src": "4865:79:13" + }, + "nativeSrc": "4865:79:13", + "nodeType": "YulExpressionStatement", + "src": "4865:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nativeSrc": "4844:3:13", + "nodeType": "YulIdentifier", + "src": "4844:3:13" + }, + { + "name": "offset", + "nativeSrc": "4849:6:13", + "nodeType": "YulIdentifier", + "src": "4849:6:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4840:3:13", + "nodeType": "YulIdentifier", + "src": "4840:3:13" + }, + "nativeSrc": "4840:16:13", + "nodeType": "YulFunctionCall", + "src": "4840:16:13" + }, + { + "kind": "number", + "nativeSrc": "4858:3:13", + "nodeType": "YulLiteral", + "src": "4858:3:13", + "type": "", + "value": "320" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4836:3:13", + "nodeType": "YulIdentifier", + "src": "4836:3:13" + }, + "nativeSrc": "4836:26:13", + "nodeType": "YulFunctionCall", + "src": "4836:26:13" + }, + "nativeSrc": "4833:113:13", + "nodeType": "YulIf", + "src": "4833:113:13" + }, + { + "nativeSrc": "4955:15:13", + "nodeType": "YulAssignment", + "src": "4955:15:13", + "value": { + "name": "offset", + "nativeSrc": "4964:6:13", + "nodeType": "YulIdentifier", + "src": "4964:6:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "4955:5:13", + "nodeType": "YulIdentifier", + "src": "4955:5:13" + } + ] + } + ] + }, + "name": "abi_decode_t_struct$_Attestation_$1641_calldata_ptr", + "nativeSrc": "4740:236:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "4801:6:13", + "nodeType": "YulTypedName", + "src": "4801:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "4809:3:13", + "nodeType": "YulTypedName", + "src": "4809:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "4817:5:13", + "nodeType": "YulTypedName", + "src": "4817:5:13", + "type": "" + } + ], + "src": "4740:236:13" + }, + { + "body": { + "nativeSrc": "5079:454:13", + "nodeType": "YulBlock", + "src": "5079:454:13", + "statements": [ + { + "body": { + "nativeSrc": "5125:83:13", + "nodeType": "YulBlock", + "src": "5125:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "5127:77:13", + "nodeType": "YulIdentifier", + "src": "5127:77:13" + }, + "nativeSrc": "5127:79:13", + "nodeType": "YulFunctionCall", + "src": "5127:79:13" + }, + "nativeSrc": "5127:79:13", + "nodeType": "YulExpressionStatement", + "src": "5127:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5100:7:13", + "nodeType": "YulIdentifier", + "src": "5100:7:13" + }, + { + "name": "headStart", + "nativeSrc": "5109:9:13", + "nodeType": "YulIdentifier", + "src": "5109:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5096:3:13", + "nodeType": "YulIdentifier", + "src": "5096:3:13" + }, + "nativeSrc": "5096:23:13", + "nodeType": "YulFunctionCall", + "src": "5096:23:13" + }, + { + "kind": "number", + "nativeSrc": "5121:2:13", + "nodeType": "YulLiteral", + "src": "5121:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5092:3:13", + "nodeType": "YulIdentifier", + "src": "5092:3:13" + }, + "nativeSrc": "5092:32:13", + "nodeType": "YulFunctionCall", + "src": "5092:32:13" + }, + "nativeSrc": "5089:119:13", + "nodeType": "YulIf", + "src": "5089:119:13" + }, + { + "nativeSrc": "5218:308:13", + "nodeType": "YulBlock", + "src": "5218:308:13", + "statements": [ + { + "nativeSrc": "5233:45:13", + "nodeType": "YulVariableDeclaration", + "src": "5233:45:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5264:9:13", + "nodeType": "YulIdentifier", + "src": "5264:9:13" + }, + { + "kind": "number", + "nativeSrc": "5275:1:13", + "nodeType": "YulLiteral", + "src": "5275:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5260:3:13", + "nodeType": "YulIdentifier", + "src": "5260:3:13" + }, + "nativeSrc": "5260:17:13", + "nodeType": "YulFunctionCall", + "src": "5260:17:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5247:12:13", + "nodeType": "YulIdentifier", + "src": "5247:12:13" + }, + "nativeSrc": "5247:31:13", + "nodeType": "YulFunctionCall", + "src": "5247:31:13" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5237:6:13", + "nodeType": "YulTypedName", + "src": "5237:6:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5325:83:13", + "nodeType": "YulBlock", + "src": "5325:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "5327:77:13", + "nodeType": "YulIdentifier", + "src": "5327:77:13" + }, + "nativeSrc": "5327:79:13", + "nodeType": "YulFunctionCall", + "src": "5327:79:13" + }, + "nativeSrc": "5327:79:13", + "nodeType": "YulExpressionStatement", + "src": "5327:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5297:6:13", + "nodeType": "YulIdentifier", + "src": "5297:6:13" + }, + { + "kind": "number", + "nativeSrc": "5305:18:13", + "nodeType": "YulLiteral", + "src": "5305:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5294:2:13", + "nodeType": "YulIdentifier", + "src": "5294:2:13" + }, + "nativeSrc": "5294:30:13", + "nodeType": "YulFunctionCall", + "src": "5294:30:13" + }, + "nativeSrc": "5291:117:13", + "nodeType": "YulIf", + "src": "5291:117:13" + }, + { + "nativeSrc": "5422:94:13", + "nodeType": "YulAssignment", + "src": "5422:94:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5488:9:13", + "nodeType": "YulIdentifier", + "src": "5488:9:13" + }, + { + "name": "offset", + "nativeSrc": "5499:6:13", + "nodeType": "YulIdentifier", + "src": "5499:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5484:3:13", + "nodeType": "YulIdentifier", + "src": "5484:3:13" + }, + "nativeSrc": "5484:22:13", + "nodeType": "YulFunctionCall", + "src": "5484:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "5508:7:13", + "nodeType": "YulIdentifier", + "src": "5508:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_struct$_Attestation_$1641_calldata_ptr", + "nativeSrc": "5432:51:13", + "nodeType": "YulIdentifier", + "src": "5432:51:13" + }, + "nativeSrc": "5432:84:13", + "nodeType": "YulFunctionCall", + "src": "5432:84:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5422:6:13", + "nodeType": "YulIdentifier", + "src": "5422:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr", + "nativeSrc": "4982:551:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5049:9:13", + "nodeType": "YulTypedName", + "src": "5049:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5060:7:13", + "nodeType": "YulTypedName", + "src": "5060:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5072:6:13", + "nodeType": "YulTypedName", + "src": "5072:6:13", + "type": "" + } + ], + "src": "4982:551:13" + }, + { + "body": { + "nativeSrc": "5653:34:13", + "nodeType": "YulBlock", + "src": "5653:34:13", + "statements": [ + { + "nativeSrc": "5663:18:13", + "nodeType": "YulAssignment", + "src": "5663:18:13", + "value": { + "name": "pos", + "nativeSrc": "5678:3:13", + "nodeType": "YulIdentifier", + "src": "5678:3:13" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "5663:11:13", + "nodeType": "YulIdentifier", + "src": "5663:11:13" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "5539:148:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "5625:3:13", + "nodeType": "YulTypedName", + "src": "5625:3:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5630:6:13", + "nodeType": "YulTypedName", + "src": "5630:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "5641:11:13", + "nodeType": "YulTypedName", + "src": "5641:11:13", + "type": "" + } + ], + "src": "5539:148:13" + }, + { + "body": { + "nativeSrc": "5803:280:13", + "nodeType": "YulBlock", + "src": "5803:280:13", + "statements": [ + { + "nativeSrc": "5813:53:13", + "nodeType": "YulVariableDeclaration", + "src": "5813:53:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5860:5:13", + "nodeType": "YulIdentifier", + "src": "5860:5:13" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "5827:32:13", + "nodeType": "YulIdentifier", + "src": "5827:32:13" + }, + "nativeSrc": "5827:39:13", + "nodeType": "YulFunctionCall", + "src": "5827:39:13" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "5817:6:13", + "nodeType": "YulTypedName", + "src": "5817:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "5875:96:13", + "nodeType": "YulAssignment", + "src": "5875:96:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5959:3:13", + "nodeType": "YulIdentifier", + "src": "5959:3:13" + }, + { + "name": "length", + "nativeSrc": "5964:6:13", + "nodeType": "YulIdentifier", + "src": "5964:6:13" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "5882:76:13", + "nodeType": "YulIdentifier", + "src": "5882:76:13" + }, + "nativeSrc": "5882:89:13", + "nodeType": "YulFunctionCall", + "src": "5882:89:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "5875:3:13", + "nodeType": "YulIdentifier", + "src": "5875:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6019:5:13", + "nodeType": "YulIdentifier", + "src": "6019:5:13" + }, + { + "kind": "number", + "nativeSrc": "6026:4:13", + "nodeType": "YulLiteral", + "src": "6026:4:13", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6015:3:13", + "nodeType": "YulIdentifier", + "src": "6015:3:13" + }, + "nativeSrc": "6015:16:13", + "nodeType": "YulFunctionCall", + "src": "6015:16:13" + }, + { + "name": "pos", + "nativeSrc": "6033:3:13", + "nodeType": "YulIdentifier", + "src": "6033:3:13" + }, + { + "name": "length", + "nativeSrc": "6038:6:13", + "nodeType": "YulIdentifier", + "src": "6038:6:13" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "5980:34:13", + "nodeType": "YulIdentifier", + "src": "5980:34:13" + }, + "nativeSrc": "5980:65:13", + "nodeType": "YulFunctionCall", + "src": "5980:65:13" + }, + "nativeSrc": "5980:65:13", + "nodeType": "YulExpressionStatement", + "src": "5980:65:13" + }, + { + "nativeSrc": "6054:23:13", + "nodeType": "YulAssignment", + "src": "6054:23:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6065:3:13", + "nodeType": "YulIdentifier", + "src": "6065:3:13" + }, + { + "name": "length", + "nativeSrc": "6070:6:13", + "nodeType": "YulIdentifier", + "src": "6070:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6061:3:13", + "nodeType": "YulIdentifier", + "src": "6061:3:13" + }, + "nativeSrc": "6061:16:13", + "nodeType": "YulFunctionCall", + "src": "6061:16:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "6054:3:13", + "nodeType": "YulIdentifier", + "src": "6054:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "5693:390:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5784:5:13", + "nodeType": "YulTypedName", + "src": "5784:5:13", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "5791:3:13", + "nodeType": "YulTypedName", + "src": "5791:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "5799:3:13", + "nodeType": "YulTypedName", + "src": "5799:3:13", + "type": "" + } + ], + "src": "5693:390:13" + }, + { + "body": { + "nativeSrc": "6195:45:13", + "nodeType": "YulBlock", + "src": "6195:45:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "6217:6:13", + "nodeType": "YulIdentifier", + "src": "6217:6:13" + }, + { + "kind": "number", + "nativeSrc": "6225:1:13", + "nodeType": "YulLiteral", + "src": "6225:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6213:3:13", + "nodeType": "YulIdentifier", + "src": "6213:3:13" + }, + "nativeSrc": "6213:14:13", + "nodeType": "YulFunctionCall", + "src": "6213:14:13" + }, + { + "hexValue": "2e", + "kind": "string", + "nativeSrc": "6229:3:13", + "nodeType": "YulLiteral", + "src": "6229:3:13", + "type": "", + "value": "." + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6206:6:13", + "nodeType": "YulIdentifier", + "src": "6206:6:13" + }, + "nativeSrc": "6206:27:13", + "nodeType": "YulFunctionCall", + "src": "6206:27:13" + }, + "nativeSrc": "6206:27:13", + "nodeType": "YulExpressionStatement", + "src": "6206:27:13" + } + ] + }, + "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "nativeSrc": "6089:151:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "6187:6:13", + "nodeType": "YulTypedName", + "src": "6187:6:13", + "type": "" + } + ], + "src": "6089:151:13" + }, + { + "body": { + "nativeSrc": "6410:236:13", + "nodeType": "YulBlock", + "src": "6410:236:13", + "statements": [ + { + "nativeSrc": "6420:91:13", + "nodeType": "YulAssignment", + "src": "6420:91:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6504:3:13", + "nodeType": "YulIdentifier", + "src": "6504:3:13" + }, + { + "kind": "number", + "nativeSrc": "6509:1:13", + "nodeType": "YulLiteral", + "src": "6509:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "6427:76:13", + "nodeType": "YulIdentifier", + "src": "6427:76:13" + }, + "nativeSrc": "6427:84:13", + "nodeType": "YulFunctionCall", + "src": "6427:84:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "6420:3:13", + "nodeType": "YulIdentifier", + "src": "6420:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6609:3:13", + "nodeType": "YulIdentifier", + "src": "6609:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "nativeSrc": "6520:88:13", + "nodeType": "YulIdentifier", + "src": "6520:88:13" + }, + "nativeSrc": "6520:93:13", + "nodeType": "YulFunctionCall", + "src": "6520:93:13" + }, + "nativeSrc": "6520:93:13", + "nodeType": "YulExpressionStatement", + "src": "6520:93:13" + }, + { + "nativeSrc": "6622:18:13", + "nodeType": "YulAssignment", + "src": "6622:18:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6633:3:13", + "nodeType": "YulIdentifier", + "src": "6633:3:13" + }, + { + "kind": "number", + "nativeSrc": "6638:1:13", + "nodeType": "YulLiteral", + "src": "6638:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6629:3:13", + "nodeType": "YulIdentifier", + "src": "6629:3:13" + }, + "nativeSrc": "6629:11:13", + "nodeType": "YulFunctionCall", + "src": "6629:11:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "6622:3:13", + "nodeType": "YulIdentifier", + "src": "6622:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "6246:400:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "6398:3:13", + "nodeType": "YulTypedName", + "src": "6398:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "6406:3:13", + "nodeType": "YulTypedName", + "src": "6406:3:13", + "type": "" + } + ], + "src": "6246:400:13" + }, + { + "body": { + "nativeSrc": "7086:693:13", + "nodeType": "YulBlock", + "src": "7086:693:13", + "statements": [ + { + "nativeSrc": "7097:102:13", + "nodeType": "YulAssignment", + "src": "7097:102:13", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7186:6:13", + "nodeType": "YulIdentifier", + "src": "7186:6:13" + }, + { + "name": "pos", + "nativeSrc": "7195:3:13", + "nodeType": "YulIdentifier", + "src": "7195:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7104:81:13", + "nodeType": "YulIdentifier", + "src": "7104:81:13" + }, + "nativeSrc": "7104:95:13", + "nodeType": "YulFunctionCall", + "src": "7104:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7097:3:13", + "nodeType": "YulIdentifier", + "src": "7097:3:13" + } + ] + }, + { + "nativeSrc": "7209:155:13", + "nodeType": "YulAssignment", + "src": "7209:155:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7360:3:13", + "nodeType": "YulIdentifier", + "src": "7360:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7216:142:13", + "nodeType": "YulIdentifier", + "src": "7216:142:13" + }, + "nativeSrc": "7216:148:13", + "nodeType": "YulFunctionCall", + "src": "7216:148:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7209:3:13", + "nodeType": "YulIdentifier", + "src": "7209:3:13" + } + ] + }, + { + "nativeSrc": "7374:102:13", + "nodeType": "YulAssignment", + "src": "7374:102:13", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "7463:6:13", + "nodeType": "YulIdentifier", + "src": "7463:6:13" + }, + { + "name": "pos", + "nativeSrc": "7472:3:13", + "nodeType": "YulIdentifier", + "src": "7472:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7381:81:13", + "nodeType": "YulIdentifier", + "src": "7381:81:13" + }, + "nativeSrc": "7381:95:13", + "nodeType": "YulFunctionCall", + "src": "7381:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7374:3:13", + "nodeType": "YulIdentifier", + "src": "7374:3:13" + } + ] + }, + { + "nativeSrc": "7486:155:13", + "nodeType": "YulAssignment", + "src": "7486:155:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7637:3:13", + "nodeType": "YulIdentifier", + "src": "7637:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7493:142:13", + "nodeType": "YulIdentifier", + "src": "7493:142:13" + }, + "nativeSrc": "7493:148:13", + "nodeType": "YulFunctionCall", + "src": "7493:148:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7486:3:13", + "nodeType": "YulIdentifier", + "src": "7486:3:13" + } + ] + }, + { + "nativeSrc": "7651:102:13", + "nodeType": "YulAssignment", + "src": "7651:102:13", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "7740:6:13", + "nodeType": "YulIdentifier", + "src": "7740:6:13" + }, + { + "name": "pos", + "nativeSrc": "7749:3:13", + "nodeType": "YulIdentifier", + "src": "7749:3:13" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "7658:81:13", + "nodeType": "YulIdentifier", + "src": "7658:81:13" + }, + "nativeSrc": "7658:95:13", + "nodeType": "YulFunctionCall", + "src": "7658:95:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7651:3:13", + "nodeType": "YulIdentifier", + "src": "7651:3:13" + } + ] + }, + { + "nativeSrc": "7763:10:13", + "nodeType": "YulAssignment", + "src": "7763:10:13", + "value": { + "name": "pos", + "nativeSrc": "7770:3:13", + "nodeType": "YulIdentifier", + "src": "7770:3:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "7763:3:13", + "nodeType": "YulIdentifier", + "src": "7763:3:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "6652:1127:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "7049:3:13", + "nodeType": "YulTypedName", + "src": "7049:3:13", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "7055:6:13", + "nodeType": "YulTypedName", + "src": "7055:6:13", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "7063:6:13", + "nodeType": "YulTypedName", + "src": "7063:6:13", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7071:6:13", + "nodeType": "YulTypedName", + "src": "7071:6:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "7082:3:13", + "nodeType": "YulTypedName", + "src": "7082:3:13", + "type": "" + } + ], + "src": "6652:1127:13" + }, + { + "body": { + "nativeSrc": "7813:152:13", + "nodeType": "YulBlock", + "src": "7813:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7830:1:13", + "nodeType": "YulLiteral", + "src": "7830:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7833:77:13", + "nodeType": "YulLiteral", + "src": "7833:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7823:6:13", + "nodeType": "YulIdentifier", + "src": "7823:6:13" + }, + "nativeSrc": "7823:88:13", + "nodeType": "YulFunctionCall", + "src": "7823:88:13" + }, + "nativeSrc": "7823:88:13", + "nodeType": "YulExpressionStatement", + "src": "7823:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7927:1:13", + "nodeType": "YulLiteral", + "src": "7927:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "7930:4:13", + "nodeType": "YulLiteral", + "src": "7930:4:13", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7920:6:13", + "nodeType": "YulIdentifier", + "src": "7920:6:13" + }, + "nativeSrc": "7920:15:13", + "nodeType": "YulFunctionCall", + "src": "7920:15:13" + }, + "nativeSrc": "7920:15:13", + "nodeType": "YulExpressionStatement", + "src": "7920:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7951:1:13", + "nodeType": "YulLiteral", + "src": "7951:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7954:4:13", + "nodeType": "YulLiteral", + "src": "7954:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7944:6:13", + "nodeType": "YulIdentifier", + "src": "7944:6:13" + }, + "nativeSrc": "7944:15:13", + "nodeType": "YulFunctionCall", + "src": "7944:15:13" + }, + "nativeSrc": "7944:15:13", + "nodeType": "YulExpressionStatement", + "src": "7944:15:13" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "7785:180:13", + "nodeType": "YulFunctionDefinition", + "src": "7785:180:13" + }, + { + "body": { + "nativeSrc": "8060:28:13", + "nodeType": "YulBlock", + "src": "8060:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8077:1:13", + "nodeType": "YulLiteral", + "src": "8077:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8080:1:13", + "nodeType": "YulLiteral", + "src": "8080:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "8070:6:13", + "nodeType": "YulIdentifier", + "src": "8070:6:13" + }, + "nativeSrc": "8070:12:13", + "nodeType": "YulFunctionCall", + "src": "8070:12:13" + }, + "nativeSrc": "8070:12:13", + "nodeType": "YulExpressionStatement", + "src": "8070:12:13" + } + ] + }, + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nativeSrc": "7971:117:13", + "nodeType": "YulFunctionDefinition", + "src": "7971:117:13" + }, + { + "body": { + "nativeSrc": "8183:28:13", + "nodeType": "YulBlock", + "src": "8183:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8200:1:13", + "nodeType": "YulLiteral", + "src": "8200:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8203:1:13", + "nodeType": "YulLiteral", + "src": "8203:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "8193:6:13", + "nodeType": "YulIdentifier", + "src": "8193:6:13" + }, + "nativeSrc": "8193:12:13", + "nodeType": "YulFunctionCall", + "src": "8193:12:13" + }, + "nativeSrc": "8193:12:13", + "nodeType": "YulExpressionStatement", + "src": "8193:12:13" + } + ] + }, + "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", + "nativeSrc": "8094:117:13", + "nodeType": "YulFunctionDefinition", + "src": "8094:117:13" + }, + { + "body": { + "nativeSrc": "8306:28:13", + "nodeType": "YulBlock", + "src": "8306:28:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8323:1:13", + "nodeType": "YulLiteral", + "src": "8323:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8326:1:13", + "nodeType": "YulLiteral", + "src": "8326:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "8316:6:13", + "nodeType": "YulIdentifier", + "src": "8316:6:13" + }, + "nativeSrc": "8316:12:13", + "nodeType": "YulFunctionCall", + "src": "8316:12:13" + }, + "nativeSrc": "8316:12:13", + "nodeType": "YulExpressionStatement", + "src": "8316:12:13" + } + ] + }, + "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", + "nativeSrc": "8217:117:13", + "nodeType": "YulFunctionDefinition", + "src": "8217:117:13" + }, + { + "body": { + "nativeSrc": "8442:297:13", + "nodeType": "YulBlock", + "src": "8442:297:13", + "statements": [ + { + "nativeSrc": "8452:51:13", + "nodeType": "YulVariableDeclaration", + "src": "8452:51:13", + "value": { + "arguments": [ + { + "name": "ptr_to_tail", + "nativeSrc": "8491:11:13", + "nodeType": "YulIdentifier", + "src": "8491:11:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8478:12:13", + "nodeType": "YulIdentifier", + "src": "8478:12:13" + }, + "nativeSrc": "8478:25:13", + "nodeType": "YulFunctionCall", + "src": "8478:25:13" + }, + "variables": [ + { + "name": "rel_offset_of_tail", + "nativeSrc": "8456:18:13", + "nodeType": "YulTypedName", + "src": "8456:18:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8599:83:13", + "nodeType": "YulBlock", + "src": "8599:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nativeSrc": "8601:77:13", + "nodeType": "YulIdentifier", + "src": "8601:77:13" + }, + "nativeSrc": "8601:79:13", + "nodeType": "YulFunctionCall", + "src": "8601:79:13" + }, + "nativeSrc": "8601:79:13", + "nodeType": "YulExpressionStatement", + "src": "8601:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "rel_offset_of_tail", + "nativeSrc": "8526:18:13", + "nodeType": "YulIdentifier", + "src": "8526:18:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nativeSrc": "8554:12:13", + "nodeType": "YulIdentifier", + "src": "8554:12:13" + }, + "nativeSrc": "8554:14:13", + "nodeType": "YulFunctionCall", + "src": "8554:14:13" + }, + { + "name": "base_ref", + "nativeSrc": "8570:8:13", + "nodeType": "YulIdentifier", + "src": "8570:8:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8550:3:13", + "nodeType": "YulIdentifier", + "src": "8550:3:13" + }, + "nativeSrc": "8550:29:13", + "nodeType": "YulFunctionCall", + "src": "8550:29:13" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8585:6:13", + "nodeType": "YulLiteral", + "src": "8585:6:13", + "type": "", + "value": "0x0140" + }, + { + "kind": "number", + "nativeSrc": "8593:1:13", + "nodeType": "YulLiteral", + "src": "8593:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8581:3:13", + "nodeType": "YulIdentifier", + "src": "8581:3:13" + }, + "nativeSrc": "8581:14:13", + "nodeType": "YulFunctionCall", + "src": "8581:14:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8546:3:13", + "nodeType": "YulIdentifier", + "src": "8546:3:13" + }, + "nativeSrc": "8546:50:13", + "nodeType": "YulFunctionCall", + "src": "8546:50:13" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8522:3:13", + "nodeType": "YulIdentifier", + "src": "8522:3:13" + }, + "nativeSrc": "8522:75:13", + "nodeType": "YulFunctionCall", + "src": "8522:75:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "8515:6:13", + "nodeType": "YulIdentifier", + "src": "8515:6:13" + }, + "nativeSrc": "8515:83:13", + "nodeType": "YulFunctionCall", + "src": "8515:83:13" + }, + "nativeSrc": "8512:170:13", + "nodeType": "YulIf", + "src": "8512:170:13" + }, + { + "nativeSrc": "8691:41:13", + "nodeType": "YulAssignment", + "src": "8691:41:13", + "value": { + "arguments": [ + { + "name": "base_ref", + "nativeSrc": "8703:8:13", + "nodeType": "YulIdentifier", + "src": "8703:8:13" + }, + { + "name": "rel_offset_of_tail", + "nativeSrc": "8713:18:13", + "nodeType": "YulIdentifier", + "src": "8713:18:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8699:3:13", + "nodeType": "YulIdentifier", + "src": "8699:3:13" + }, + "nativeSrc": "8699:33:13", + "nodeType": "YulFunctionCall", + "src": "8699:33:13" + }, + "variableNames": [ + { + "name": "addr", + "nativeSrc": "8691:4:13", + "nodeType": "YulIdentifier", + "src": "8691:4:13" + } + ] + } + ] + }, + "name": "access_calldata_tail_t_struct$_Attestation_$1641_calldata_ptr", + "nativeSrc": "8340:399:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base_ref", + "nativeSrc": "8411:8:13", + "nodeType": "YulTypedName", + "src": "8411:8:13", + "type": "" + }, + { + "name": "ptr_to_tail", + "nativeSrc": "8421:11:13", + "nodeType": "YulTypedName", + "src": "8421:11:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "addr", + "nativeSrc": "8437:4:13", + "nodeType": "YulTypedName", + "src": "8437:4:13", + "type": "" + } + ], + "src": "8340:399:13" + }, + { + "body": { + "nativeSrc": "8773:152:13", + "nodeType": "YulBlock", + "src": "8773:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8790:1:13", + "nodeType": "YulLiteral", + "src": "8790:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8793:77:13", + "nodeType": "YulLiteral", + "src": "8793:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8783:6:13", + "nodeType": "YulIdentifier", + "src": "8783:6:13" + }, + "nativeSrc": "8783:88:13", + "nodeType": "YulFunctionCall", + "src": "8783:88:13" + }, + "nativeSrc": "8783:88:13", + "nodeType": "YulExpressionStatement", + "src": "8783:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8887:1:13", + "nodeType": "YulLiteral", + "src": "8887:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "8890:4:13", + "nodeType": "YulLiteral", + "src": "8890:4:13", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8880:6:13", + "nodeType": "YulIdentifier", + "src": "8880:6:13" + }, + "nativeSrc": "8880:15:13", + "nodeType": "YulFunctionCall", + "src": "8880:15:13" + }, + "nativeSrc": "8880:15:13", + "nodeType": "YulExpressionStatement", + "src": "8880:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8911:1:13", + "nodeType": "YulLiteral", + "src": "8911:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8914:4:13", + "nodeType": "YulLiteral", + "src": "8914:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "8904:6:13", + "nodeType": "YulIdentifier", + "src": "8904:6:13" + }, + "nativeSrc": "8904:15:13", + "nodeType": "YulFunctionCall", + "src": "8904:15:13" + }, + "nativeSrc": "8904:15:13", + "nodeType": "YulExpressionStatement", + "src": "8904:15:13" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "8745:180:13", + "nodeType": "YulFunctionDefinition", + "src": "8745:180:13" + }, + { + "body": { + "nativeSrc": "8959:152:13", + "nodeType": "YulBlock", + "src": "8959:152:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8976:1:13", + "nodeType": "YulLiteral", + "src": "8976:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "8979:77:13", + "nodeType": "YulLiteral", + "src": "8979:77:13", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8969:6:13", + "nodeType": "YulIdentifier", + "src": "8969:6:13" + }, + "nativeSrc": "8969:88:13", + "nodeType": "YulFunctionCall", + "src": "8969:88:13" + }, + "nativeSrc": "8969:88:13", + "nodeType": "YulExpressionStatement", + "src": "8969:88:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9073:1:13", + "nodeType": "YulLiteral", + "src": "9073:1:13", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "9076:4:13", + "nodeType": "YulLiteral", + "src": "9076:4:13", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9066:6:13", + "nodeType": "YulIdentifier", + "src": "9066:6:13" + }, + "nativeSrc": "9066:15:13", + "nodeType": "YulFunctionCall", + "src": "9066:15:13" + }, + "nativeSrc": "9066:15:13", + "nodeType": "YulExpressionStatement", + "src": "9066:15:13" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9097:1:13", + "nodeType": "YulLiteral", + "src": "9097:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9100:4:13", + "nodeType": "YulLiteral", + "src": "9100:4:13", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9090:6:13", + "nodeType": "YulIdentifier", + "src": "9090:6:13" + }, + "nativeSrc": "9090:15:13", + "nodeType": "YulFunctionCall", + "src": "9090:15:13" + }, + "nativeSrc": "9090:15:13", + "nodeType": "YulExpressionStatement", + "src": "9090:15:13" + } + ] + }, + "name": "panic_error_0x12", + "nativeSrc": "8931:180:13", + "nodeType": "YulFunctionDefinition", + "src": "8931:180:13" + }, + { + "body": { + "nativeSrc": "9162:81:13", + "nodeType": "YulBlock", + "src": "9162:81:13", + "statements": [ + { + "nativeSrc": "9172:65:13", + "nodeType": "YulAssignment", + "src": "9172:65:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9187:5:13", + "nodeType": "YulIdentifier", + "src": "9187:5:13" + }, + { + "kind": "number", + "nativeSrc": "9194:42:13", + "nodeType": "YulLiteral", + "src": "9194:42:13", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9183:3:13", + "nodeType": "YulIdentifier", + "src": "9183:3:13" + }, + "nativeSrc": "9183:54:13", + "nodeType": "YulFunctionCall", + "src": "9183:54:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "9172:7:13", + "nodeType": "YulIdentifier", + "src": "9172:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "9117:126:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9144:5:13", + "nodeType": "YulTypedName", + "src": "9144:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "9154:7:13", + "nodeType": "YulTypedName", + "src": "9154:7:13", + "type": "" + } + ], + "src": "9117:126:13" + }, + { + "body": { + "nativeSrc": "9294:51:13", + "nodeType": "YulBlock", + "src": "9294:51:13", + "statements": [ + { + "nativeSrc": "9304:35:13", + "nodeType": "YulAssignment", + "src": "9304:35:13", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9333:5:13", + "nodeType": "YulIdentifier", + "src": "9333:5:13" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "9315:17:13", + "nodeType": "YulIdentifier", + "src": "9315:17:13" + }, + "nativeSrc": "9315:24:13", + "nodeType": "YulFunctionCall", + "src": "9315:24:13" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "9304:7:13", + "nodeType": "YulIdentifier", + "src": "9304:7:13" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "9249:96:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9276:5:13", + "nodeType": "YulTypedName", + "src": "9276:5:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "9286:7:13", + "nodeType": "YulTypedName", + "src": "9286:7:13", + "type": "" + } + ], + "src": "9249:96:13" + }, + { + "body": { + "nativeSrc": "9394:79:13", + "nodeType": "YulBlock", + "src": "9394:79:13", + "statements": [ + { + "body": { + "nativeSrc": "9451:16:13", + "nodeType": "YulBlock", + "src": "9451:16:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9460:1:13", + "nodeType": "YulLiteral", + "src": "9460:1:13", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9463:1:13", + "nodeType": "YulLiteral", + "src": "9463:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9453:6:13", + "nodeType": "YulIdentifier", + "src": "9453:6:13" + }, + "nativeSrc": "9453:12:13", + "nodeType": "YulFunctionCall", + "src": "9453:12:13" + }, + "nativeSrc": "9453:12:13", + "nodeType": "YulExpressionStatement", + "src": "9453:12:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9417:5:13", + "nodeType": "YulIdentifier", + "src": "9417:5:13" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9442:5:13", + "nodeType": "YulIdentifier", + "src": "9442:5:13" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "9424:17:13", + "nodeType": "YulIdentifier", + "src": "9424:17:13" + }, + "nativeSrc": "9424:24:13", + "nodeType": "YulFunctionCall", + "src": "9424:24:13" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9414:2:13", + "nodeType": "YulIdentifier", + "src": "9414:2:13" + }, + "nativeSrc": "9414:35:13", + "nodeType": "YulFunctionCall", + "src": "9414:35:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9407:6:13", + "nodeType": "YulIdentifier", + "src": "9407:6:13" + }, + "nativeSrc": "9407:43:13", + "nodeType": "YulFunctionCall", + "src": "9407:43:13" + }, + "nativeSrc": "9404:63:13", + "nodeType": "YulIf", + "src": "9404:63:13" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "9351:122:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9387:5:13", + "nodeType": "YulTypedName", + "src": "9387:5:13", + "type": "" + } + ], + "src": "9351:122:13" + }, + { + "body": { + "nativeSrc": "9531:87:13", + "nodeType": "YulBlock", + "src": "9531:87:13", + "statements": [ + { + "nativeSrc": "9541:29:13", + "nodeType": "YulAssignment", + "src": "9541:29:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9563:6:13", + "nodeType": "YulIdentifier", + "src": "9563:6:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9550:12:13", + "nodeType": "YulIdentifier", + "src": "9550:12:13" + }, + "nativeSrc": "9550:20:13", + "nodeType": "YulFunctionCall", + "src": "9550:20:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9541:5:13", + "nodeType": "YulIdentifier", + "src": "9541:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9606:5:13", + "nodeType": "YulIdentifier", + "src": "9606:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "9579:26:13", + "nodeType": "YulIdentifier", + "src": "9579:26:13" + }, + "nativeSrc": "9579:33:13", + "nodeType": "YulFunctionCall", + "src": "9579:33:13" + }, + "nativeSrc": "9579:33:13", + "nodeType": "YulExpressionStatement", + "src": "9579:33:13" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "9479:139:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9509:6:13", + "nodeType": "YulTypedName", + "src": "9509:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "9517:3:13", + "nodeType": "YulTypedName", + "src": "9517:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9525:5:13", + "nodeType": "YulTypedName", + "src": "9525:5:13", + "type": "" + } + ], + "src": "9479:139:13" + }, + { + "body": { + "nativeSrc": "9690:263:13", + "nodeType": "YulBlock", + "src": "9690:263:13", + "statements": [ + { + "body": { + "nativeSrc": "9736:83:13", + "nodeType": "YulBlock", + "src": "9736:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "9738:77:13", + "nodeType": "YulIdentifier", + "src": "9738:77:13" + }, + "nativeSrc": "9738:79:13", + "nodeType": "YulFunctionCall", + "src": "9738:79:13" + }, + "nativeSrc": "9738:79:13", + "nodeType": "YulExpressionStatement", + "src": "9738:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9711:7:13", + "nodeType": "YulIdentifier", + "src": "9711:7:13" + }, + { + "name": "headStart", + "nativeSrc": "9720:9:13", + "nodeType": "YulIdentifier", + "src": "9720:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9707:3:13", + "nodeType": "YulIdentifier", + "src": "9707:3:13" + }, + "nativeSrc": "9707:23:13", + "nodeType": "YulFunctionCall", + "src": "9707:23:13" + }, + { + "kind": "number", + "nativeSrc": "9732:2:13", + "nodeType": "YulLiteral", + "src": "9732:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9703:3:13", + "nodeType": "YulIdentifier", + "src": "9703:3:13" + }, + "nativeSrc": "9703:32:13", + "nodeType": "YulFunctionCall", + "src": "9703:32:13" + }, + "nativeSrc": "9700:119:13", + "nodeType": "YulIf", + "src": "9700:119:13" + }, + { + "nativeSrc": "9829:117:13", + "nodeType": "YulBlock", + "src": "9829:117:13", + "statements": [ + { + "nativeSrc": "9844:15:13", + "nodeType": "YulVariableDeclaration", + "src": "9844:15:13", + "value": { + "kind": "number", + "nativeSrc": "9858:1:13", + "nodeType": "YulLiteral", + "src": "9858:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9848:6:13", + "nodeType": "YulTypedName", + "src": "9848:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "9873:63:13", + "nodeType": "YulAssignment", + "src": "9873:63:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9908:9:13", + "nodeType": "YulIdentifier", + "src": "9908:9:13" + }, + { + "name": "offset", + "nativeSrc": "9919:6:13", + "nodeType": "YulIdentifier", + "src": "9919:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9904:3:13", + "nodeType": "YulIdentifier", + "src": "9904:3:13" + }, + "nativeSrc": "9904:22:13", + "nodeType": "YulFunctionCall", + "src": "9904:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "9928:7:13", + "nodeType": "YulIdentifier", + "src": "9928:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "9883:20:13", + "nodeType": "YulIdentifier", + "src": "9883:20:13" + }, + "nativeSrc": "9883:53:13", + "nodeType": "YulFunctionCall", + "src": "9883:53:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9873:6:13", + "nodeType": "YulIdentifier", + "src": "9873:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "9624:329:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9660:9:13", + "nodeType": "YulTypedName", + "src": "9660:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9671:7:13", + "nodeType": "YulTypedName", + "src": "9671:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9683:6:13", + "nodeType": "YulTypedName", + "src": "9683:6:13", + "type": "" + } + ], + "src": "9624:329:13" + }, + { + "body": { + "nativeSrc": "10049:634:13", + "nodeType": "YulBlock", + "src": "10049:634:13", + "statements": [ + { + "nativeSrc": "10059:51:13", + "nodeType": "YulVariableDeclaration", + "src": "10059:51:13", + "value": { + "arguments": [ + { + "name": "ptr_to_tail", + "nativeSrc": "10098:11:13", + "nodeType": "YulIdentifier", + "src": "10098:11:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10085:12:13", + "nodeType": "YulIdentifier", + "src": "10085:12:13" + }, + "nativeSrc": "10085:25:13", + "nodeType": "YulFunctionCall", + "src": "10085:25:13" + }, + "variables": [ + { + "name": "rel_offset_of_tail", + "nativeSrc": "10063:18:13", + "nodeType": "YulTypedName", + "src": "10063:18:13", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10204:83:13", + "nodeType": "YulBlock", + "src": "10204:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nativeSrc": "10206:77:13", + "nodeType": "YulIdentifier", + "src": "10206:77:13" + }, + "nativeSrc": "10206:79:13", + "nodeType": "YulFunctionCall", + "src": "10206:79:13" + }, + "nativeSrc": "10206:79:13", + "nodeType": "YulExpressionStatement", + "src": "10206:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "rel_offset_of_tail", + "nativeSrc": "10133:18:13", + "nodeType": "YulIdentifier", + "src": "10133:18:13" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nativeSrc": "10161:12:13", + "nodeType": "YulIdentifier", + "src": "10161:12:13" + }, + "nativeSrc": "10161:14:13", + "nodeType": "YulFunctionCall", + "src": "10161:14:13" + }, + { + "name": "base_ref", + "nativeSrc": "10177:8:13", + "nodeType": "YulIdentifier", + "src": "10177:8:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10157:3:13", + "nodeType": "YulIdentifier", + "src": "10157:3:13" + }, + "nativeSrc": "10157:29:13", + "nodeType": "YulFunctionCall", + "src": "10157:29:13" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10192:4:13", + "nodeType": "YulLiteral", + "src": "10192:4:13", + "type": "", + "value": "0x20" + }, + { + "kind": "number", + "nativeSrc": "10198:1:13", + "nodeType": "YulLiteral", + "src": "10198:1:13", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10188:3:13", + "nodeType": "YulIdentifier", + "src": "10188:3:13" + }, + "nativeSrc": "10188:12:13", + "nodeType": "YulFunctionCall", + "src": "10188:12:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10153:3:13", + "nodeType": "YulIdentifier", + "src": "10153:3:13" + }, + "nativeSrc": "10153:48:13", + "nodeType": "YulFunctionCall", + "src": "10153:48:13" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10129:3:13", + "nodeType": "YulIdentifier", + "src": "10129:3:13" + }, + "nativeSrc": "10129:73:13", + "nodeType": "YulFunctionCall", + "src": "10129:73:13" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10122:6:13", + "nodeType": "YulIdentifier", + "src": "10122:6:13" + }, + "nativeSrc": "10122:81:13", + "nodeType": "YulFunctionCall", + "src": "10122:81:13" + }, + "nativeSrc": "10119:168:13", + "nodeType": "YulIf", + "src": "10119:168:13" + }, + { + "nativeSrc": "10296:41:13", + "nodeType": "YulAssignment", + "src": "10296:41:13", + "value": { + "arguments": [ + { + "name": "base_ref", + "nativeSrc": "10308:8:13", + "nodeType": "YulIdentifier", + "src": "10308:8:13" + }, + { + "name": "rel_offset_of_tail", + "nativeSrc": "10318:18:13", + "nodeType": "YulIdentifier", + "src": "10318:18:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10304:3:13", + "nodeType": "YulIdentifier", + "src": "10304:3:13" + }, + "nativeSrc": "10304:33:13", + "nodeType": "YulFunctionCall", + "src": "10304:33:13" + }, + "variableNames": [ + { + "name": "addr", + "nativeSrc": "10296:4:13", + "nodeType": "YulIdentifier", + "src": "10296:4:13" + } + ] + }, + { + "nativeSrc": "10347:28:13", + "nodeType": "YulAssignment", + "src": "10347:28:13", + "value": { + "arguments": [ + { + "name": "addr", + "nativeSrc": "10370:4:13", + "nodeType": "YulIdentifier", + "src": "10370:4:13" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "10357:12:13", + "nodeType": "YulIdentifier", + "src": "10357:12:13" + }, + "nativeSrc": "10357:18:13", + "nodeType": "YulFunctionCall", + "src": "10357:18:13" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "10347:6:13", + "nodeType": "YulIdentifier", + "src": "10347:6:13" + } + ] + }, + { + "body": { + "nativeSrc": "10418:83:13", + "nodeType": "YulBlock", + "src": "10418:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", + "nativeSrc": "10420:77:13", + "nodeType": "YulIdentifier", + "src": "10420:77:13" + }, + "nativeSrc": "10420:79:13", + "nodeType": "YulFunctionCall", + "src": "10420:79:13" + }, + "nativeSrc": "10420:79:13", + "nodeType": "YulExpressionStatement", + "src": "10420:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "10390:6:13", + "nodeType": "YulIdentifier", + "src": "10390:6:13" + }, + { + "kind": "number", + "nativeSrc": "10398:18:13", + "nodeType": "YulLiteral", + "src": "10398:18:13", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10387:2:13", + "nodeType": "YulIdentifier", + "src": "10387:2:13" + }, + "nativeSrc": "10387:30:13", + "nodeType": "YulFunctionCall", + "src": "10387:30:13" + }, + "nativeSrc": "10384:117:13", + "nodeType": "YulIf", + "src": "10384:117:13" + }, + { + "nativeSrc": "10510:21:13", + "nodeType": "YulAssignment", + "src": "10510:21:13", + "value": { + "arguments": [ + { + "name": "addr", + "nativeSrc": "10522:4:13", + "nodeType": "YulIdentifier", + "src": "10522:4:13" + }, + { + "kind": "number", + "nativeSrc": "10528:2:13", + "nodeType": "YulLiteral", + "src": "10528:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10518:3:13", + "nodeType": "YulIdentifier", + "src": "10518:3:13" + }, + "nativeSrc": "10518:13:13", + "nodeType": "YulFunctionCall", + "src": "10518:13:13" + }, + "variableNames": [ + { + "name": "addr", + "nativeSrc": "10510:4:13", + "nodeType": "YulIdentifier", + "src": "10510:4:13" + } + ] + }, + { + "body": { + "nativeSrc": "10593:83:13", + "nodeType": "YulBlock", + "src": "10593:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", + "nativeSrc": "10595:77:13", + "nodeType": "YulIdentifier", + "src": "10595:77:13" + }, + "nativeSrc": "10595:79:13", + "nodeType": "YulFunctionCall", + "src": "10595:79:13" + }, + "nativeSrc": "10595:79:13", + "nodeType": "YulExpressionStatement", + "src": "10595:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "addr", + "nativeSrc": "10547:4:13", + "nodeType": "YulIdentifier", + "src": "10547:4:13" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nativeSrc": "10557:12:13", + "nodeType": "YulIdentifier", + "src": "10557:12:13" + }, + "nativeSrc": "10557:14:13", + "nodeType": "YulFunctionCall", + "src": "10557:14:13" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10577:6:13", + "nodeType": "YulIdentifier", + "src": "10577:6:13" + }, + { + "kind": "number", + "nativeSrc": "10585:4:13", + "nodeType": "YulLiteral", + "src": "10585:4:13", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "10573:3:13", + "nodeType": "YulIdentifier", + "src": "10573:3:13" + }, + "nativeSrc": "10573:17:13", + "nodeType": "YulFunctionCall", + "src": "10573:17:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10553:3:13", + "nodeType": "YulIdentifier", + "src": "10553:3:13" + }, + "nativeSrc": "10553:38:13", + "nodeType": "YulFunctionCall", + "src": "10553:38:13" + } + ], + "functionName": { + "name": "sgt", + "nativeSrc": "10543:3:13", + "nodeType": "YulIdentifier", + "src": "10543:3:13" + }, + "nativeSrc": "10543:49:13", + "nodeType": "YulFunctionCall", + "src": "10543:49:13" + }, + "nativeSrc": "10540:136:13", + "nodeType": "YulIf", + "src": "10540:136:13" + } + ] + }, + "name": "access_calldata_tail_t_bytes_calldata_ptr", + "nativeSrc": "9959:724:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base_ref", + "nativeSrc": "10010:8:13", + "nodeType": "YulTypedName", + "src": "10010:8:13", + "type": "" + }, + { + "name": "ptr_to_tail", + "nativeSrc": "10020:11:13", + "nodeType": "YulTypedName", + "src": "10020:11:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "addr", + "nativeSrc": "10036:4:13", + "nodeType": "YulTypedName", + "src": "10036:4:13", + "type": "" + }, + { + "name": "length", + "nativeSrc": "10042:6:13", + "nodeType": "YulTypedName", + "src": "10042:6:13", + "type": "" + } + ], + "src": "9959:724:13" + }, + { + "body": { + "nativeSrc": "10752:80:13", + "nodeType": "YulBlock", + "src": "10752:80:13", + "statements": [ + { + "nativeSrc": "10762:22:13", + "nodeType": "YulAssignment", + "src": "10762:22:13", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10777:6:13", + "nodeType": "YulIdentifier", + "src": "10777:6:13" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10771:5:13", + "nodeType": "YulIdentifier", + "src": "10771:5:13" + }, + "nativeSrc": "10771:13:13", + "nodeType": "YulFunctionCall", + "src": "10771:13:13" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "10762:5:13", + "nodeType": "YulIdentifier", + "src": "10762:5:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10820:5:13", + "nodeType": "YulIdentifier", + "src": "10820:5:13" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "10793:26:13", + "nodeType": "YulIdentifier", + "src": "10793:26:13" + }, + "nativeSrc": "10793:33:13", + "nodeType": "YulFunctionCall", + "src": "10793:33:13" + }, + "nativeSrc": "10793:33:13", + "nodeType": "YulExpressionStatement", + "src": "10793:33:13" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "10689:143:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "10730:6:13", + "nodeType": "YulTypedName", + "src": "10730:6:13", + "type": "" + }, + { + "name": "end", + "nativeSrc": "10738:3:13", + "nodeType": "YulTypedName", + "src": "10738:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "10746:5:13", + "nodeType": "YulTypedName", + "src": "10746:5:13", + "type": "" + } + ], + "src": "10689:143:13" + }, + { + "body": { + "nativeSrc": "10915:274:13", + "nodeType": "YulBlock", + "src": "10915:274:13", + "statements": [ + { + "body": { + "nativeSrc": "10961:83:13", + "nodeType": "YulBlock", + "src": "10961:83:13", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "10963:77:13", + "nodeType": "YulIdentifier", + "src": "10963:77:13" + }, + "nativeSrc": "10963:79:13", + "nodeType": "YulFunctionCall", + "src": "10963:79:13" + }, + "nativeSrc": "10963:79:13", + "nodeType": "YulExpressionStatement", + "src": "10963:79:13" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10936:7:13", + "nodeType": "YulIdentifier", + "src": "10936:7:13" + }, + { + "name": "headStart", + "nativeSrc": "10945:9:13", + "nodeType": "YulIdentifier", + "src": "10945:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10932:3:13", + "nodeType": "YulIdentifier", + "src": "10932:3:13" + }, + "nativeSrc": "10932:23:13", + "nodeType": "YulFunctionCall", + "src": "10932:23:13" + }, + { + "kind": "number", + "nativeSrc": "10957:2:13", + "nodeType": "YulLiteral", + "src": "10957:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10928:3:13", + "nodeType": "YulIdentifier", + "src": "10928:3:13" + }, + "nativeSrc": "10928:32:13", + "nodeType": "YulFunctionCall", + "src": "10928:32:13" + }, + "nativeSrc": "10925:119:13", + "nodeType": "YulIf", + "src": "10925:119:13" + }, + { + "nativeSrc": "11054:128:13", + "nodeType": "YulBlock", + "src": "11054:128:13", + "statements": [ + { + "nativeSrc": "11069:15:13", + "nodeType": "YulVariableDeclaration", + "src": "11069:15:13", + "value": { + "kind": "number", + "nativeSrc": "11083:1:13", + "nodeType": "YulLiteral", + "src": "11083:1:13", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11073:6:13", + "nodeType": "YulTypedName", + "src": "11073:6:13", + "type": "" + } + ] + }, + { + "nativeSrc": "11098:74:13", + "nodeType": "YulAssignment", + "src": "11098:74:13", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11144:9:13", + "nodeType": "YulIdentifier", + "src": "11144:9:13" + }, + { + "name": "offset", + "nativeSrc": "11155:6:13", + "nodeType": "YulIdentifier", + "src": "11155:6:13" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11140:3:13", + "nodeType": "YulIdentifier", + "src": "11140:3:13" + }, + "nativeSrc": "11140:22:13", + "nodeType": "YulFunctionCall", + "src": "11140:22:13" + }, + { + "name": "dataEnd", + "nativeSrc": "11164:7:13", + "nodeType": "YulIdentifier", + "src": "11164:7:13" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "11108:31:13", + "nodeType": "YulIdentifier", + "src": "11108:31:13" + }, + "nativeSrc": "11108:64:13", + "nodeType": "YulFunctionCall", + "src": "11108:64:13" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11098:6:13", + "nodeType": "YulIdentifier", + "src": "11098:6:13" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nativeSrc": "10838:351:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10885:9:13", + "nodeType": "YulTypedName", + "src": "10885:9:13", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10896:7:13", + "nodeType": "YulTypedName", + "src": "10896:7:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10908:6:13", + "nodeType": "YulTypedName", + "src": "10908:6:13", + "type": "" + } + ], + "src": "10838:351:13" + }, + { + "body": { + "nativeSrc": "11301:58:13", + "nodeType": "YulBlock", + "src": "11301:58:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "11323:6:13", + "nodeType": "YulIdentifier", + "src": "11323:6:13" + }, + { + "kind": "number", + "nativeSrc": "11331:1:13", + "nodeType": "YulLiteral", + "src": "11331:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11319:3:13", + "nodeType": "YulIdentifier", + "src": "11319:3:13" + }, + "nativeSrc": "11319:14:13", + "nodeType": "YulFunctionCall", + "src": "11319:14:13" + }, + { + "hexValue": "4461746120746f6f2073686f7274", + "kind": "string", + "nativeSrc": "11335:16:13", + "nodeType": "YulLiteral", + "src": "11335:16:13", + "type": "", + "value": "Data too short" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11312:6:13", + "nodeType": "YulIdentifier", + "src": "11312:6:13" + }, + "nativeSrc": "11312:40:13", + "nodeType": "YulFunctionCall", + "src": "11312:40:13" + }, + "nativeSrc": "11312:40:13", + "nodeType": "YulExpressionStatement", + "src": "11312:40:13" + } + ] + }, + "name": "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", + "nativeSrc": "11195:164:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "11293:6:13", + "nodeType": "YulTypedName", + "src": "11293:6:13", + "type": "" + } + ], + "src": "11195:164:13" + }, + { + "body": { + "nativeSrc": "11511:220:13", + "nodeType": "YulBlock", + "src": "11511:220:13", + "statements": [ + { + "nativeSrc": "11521:74:13", + "nodeType": "YulAssignment", + "src": "11521:74:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11587:3:13", + "nodeType": "YulIdentifier", + "src": "11587:3:13" + }, + { + "kind": "number", + "nativeSrc": "11592:2:13", + "nodeType": "YulLiteral", + "src": "11592:2:13", + "type": "", + "value": "14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "11528:58:13", + "nodeType": "YulIdentifier", + "src": "11528:58:13" + }, + "nativeSrc": "11528:67:13", + "nodeType": "YulFunctionCall", + "src": "11528:67:13" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "11521:3:13", + "nodeType": "YulIdentifier", + "src": "11521:3:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11693:3:13", + "nodeType": "YulIdentifier", + "src": "11693:3:13" + } + ], + "functionName": { + "name": "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", + "nativeSrc": "11604:88:13", + "nodeType": "YulIdentifier", + "src": "11604:88:13" + }, + "nativeSrc": "11604:93:13", + "nodeType": "YulFunctionCall", + "src": "11604:93:13" + }, + "nativeSrc": "11604:93:13", + "nodeType": "YulExpressionStatement", + "src": "11604:93:13" + }, + { + "nativeSrc": "11706:19:13", + "nodeType": "YulAssignment", + "src": "11706:19:13", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "11717:3:13", + "nodeType": "YulIdentifier", + "src": "11717:3:13" + }, + { + "kind": "number", + "nativeSrc": "11722:2:13", + "nodeType": "YulLiteral", + "src": "11722:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11713:3:13", + "nodeType": "YulIdentifier", + "src": "11713:3:13" + }, + "nativeSrc": "11713:12:13", + "nodeType": "YulFunctionCall", + "src": "11713:12:13" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "11706:3:13", + "nodeType": "YulIdentifier", + "src": "11706:3:13" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack", + "nativeSrc": "11365:366:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "11499:3:13", + "nodeType": "YulTypedName", + "src": "11499:3:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "11507:3:13", + "nodeType": "YulTypedName", + "src": "11507:3:13", + "type": "" + } + ], + "src": "11365:366:13" + }, + { + "body": { + "nativeSrc": "11908:248:13", + "nodeType": "YulBlock", + "src": "11908:248:13", + "statements": [ + { + "nativeSrc": "11918:26:13", + "nodeType": "YulAssignment", + "src": "11918:26:13", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11930:9:13", + "nodeType": "YulIdentifier", + "src": "11930:9:13" + }, + { + "kind": "number", + "nativeSrc": "11941:2:13", + "nodeType": "YulLiteral", + "src": "11941:2:13", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11926:3:13", + "nodeType": "YulIdentifier", + "src": "11926:3:13" + }, + "nativeSrc": "11926:18:13", + "nodeType": "YulFunctionCall", + "src": "11926:18:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11918:4:13", + "nodeType": "YulIdentifier", + "src": "11918:4:13" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11965:9:13", + "nodeType": "YulIdentifier", + "src": "11965:9:13" + }, + { + "kind": "number", + "nativeSrc": "11976:1:13", + "nodeType": "YulLiteral", + "src": "11976:1:13", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11961:3:13", + "nodeType": "YulIdentifier", + "src": "11961:3:13" + }, + "nativeSrc": "11961:17:13", + "nodeType": "YulFunctionCall", + "src": "11961:17:13" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "11984:4:13", + "nodeType": "YulIdentifier", + "src": "11984:4:13" + }, + { + "name": "headStart", + "nativeSrc": "11990:9:13", + "nodeType": "YulIdentifier", + "src": "11990:9:13" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11980:3:13", + "nodeType": "YulIdentifier", + "src": "11980:3:13" + }, + "nativeSrc": "11980:20:13", + "nodeType": "YulFunctionCall", + "src": "11980:20:13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11954:6:13", + "nodeType": "YulIdentifier", + "src": "11954:6:13" + }, + "nativeSrc": "11954:47:13", + "nodeType": "YulFunctionCall", + "src": "11954:47:13" + }, + "nativeSrc": "11954:47:13", + "nodeType": "YulExpressionStatement", + "src": "11954:47:13" + }, + { + "nativeSrc": "12010:139:13", + "nodeType": "YulAssignment", + "src": "12010:139:13", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "12144:4:13", + "nodeType": "YulIdentifier", + "src": "12144:4:13" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack", + "nativeSrc": "12018:124:13", + "nodeType": "YulIdentifier", + "src": "12018:124:13" + }, + "nativeSrc": "12018:131:13", + "nodeType": "YulFunctionCall", + "src": "12018:131:13" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12010:4:13", + "nodeType": "YulIdentifier", + "src": "12010:4:13" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11737:419:13", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11888:9:13", + "nodeType": "YulTypedName", + "src": "11888:9:13", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11903:4:13", + "nodeType": "YulTypedName", + "src": "11903:4:13", + "type": "" + } + ], + "src": "11737:419:13" + } + ] + }, + "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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 copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\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_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 Attestation[]\n function abi_decode_t_array$_t_struct$_Attestation_$1641_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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_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 value2, value3 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\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 revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct Attestation\n function abi_decode_t_struct$_Attestation_$1641_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 320) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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$_Attestation_$1641_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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 store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(memPtr) {\n\n mstore(add(memPtr, 0), \".\")\n\n }\n\n function abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(pos)\n end := add(pos, 1)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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$_Attestation_$1641_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(0x0140, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\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(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\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 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 abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_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_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94(memPtr) {\n\n mstore(add(memPtr, 0), \"Data too short\")\n\n }\n\n function abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__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_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 13, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "2113": [ + { + "length": 32, + "start": 1414 + } + ], + "2425": [ + { + "length": 32, + "start": 448 + } + ], + "2427": [ + { + "length": 32, + "start": 489 + } + ], + "2429": [ + { + "length": 32, + "start": 530 + } + ] + }, + "linkReferences": {}, + "object": "608060405260043610610058575f3560e01c806354fd4d50146100a157806388e5b2d9146100cb57806391db0b7e146100fb578063ce46e0461461012b578063e49617e114610155578063e60c3505146101855761009d565b3661009d576100656101b5565b61009b576040517f1574f9f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b3480156100ac575f80fd5b506100b56101b9565b6040516100c29190610a5f565b60405180910390f35b6100e560048036038101906100e09190610b3d565b61025c565b6040516100f29190610bd5565b60405180910390f35b61011560048036038101906101109190610b3d565b610371565b6040516101229190610bd5565b60405180910390f35b348015610136575f80fd5b5061013f6101b5565b60405161014c9190610bd5565b60405180910390f35b61016f600480360381019061016a9190610c11565b610486565b60405161017c9190610bd5565b60405180910390f35b61019f600480360381019061019a9190610c11565b6104a0565b6040516101ac9190610bd5565b60405180910390f35b5f90565b60606101e47f00000000000000000000000000000000000000000000000000000000000000006104ba565b61020d7f00000000000000000000000000000000000000000000000000000000000000006104ba565b6102367f00000000000000000000000000000000000000000000000000000000000000006104ba565b60405160200161024893929190610cdc565b604051602081830303815290604052905090565b5f610265610584565b5f8585905090508383905081146102a8576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610361575f8686838181106102ca576102c9610d22565b5b9050602002013590508281111561030d576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033b89898481811061032357610322610d22565b5b90506020028101906103359190610d5b565b8261060b565b61034b575f945050505050610369565b80830392505061035a81610616565b90506102ae565b506001925050505b949350505050565b5f61037a610584565b5f8585905090508383905081146103bd576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610476575f8686838181106103df576103de610d22565b5b90506020020135905082811115610422576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045089898481811061043857610437610d22565b5b905060200281019061044a9190610d5b565b82610622565b610460575f94505050505061047e565b80830392505061046f81610616565b90506103c3565b506001925050505b949350505050565b5f61048f610584565b610499823461060b565b9050919050565b5f6104a9610584565b6104b38234610622565b9050919050565b60605f60016104c88461082e565b0190505f8167ffffffffffffffff8111156104e6576104e5610d83565b5b6040519080825280601f01601f1916602001820160405280156105185781602001600182028036833780820191505090505b5090505f82602001820190505b600115610579578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161056e5761056d610db0565b5b0494505f8503610525575b819350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610609576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6001905092915050565b5f600182019050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168360c001602081019061064d9190610e37565b73ffffffffffffffffffffffffffffffffffffffff16036106715760019050610828565b5f8360c00160208101906106859190610e37565b73ffffffffffffffffffffffffffffffffffffffff163b036106a9575f9050610828565b5f610705848061012001906106be9190610e62565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061097f565b90508073ffffffffffffffffffffffffffffffffffffffff168460c00160208101906107319190610e37565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f915050610828565b5f8460c00160208101906107699190610e37565b90508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107d357506040513d601f19601f820116820180604052508101906107d09190610ed8565b60015b6107e1575f92505050610828565b8073ffffffffffffffffffffffffffffffffffffffff168660e001602081019061080b9190610e37565b73ffffffffffffffffffffffffffffffffffffffff161493505050505b92915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061088a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816108805761087f610db0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106108c7576d04ee2d6d415b85acef810000000083816108bd576108bc610db0565b5b0492506020810190505b662386f26fc1000083106108f657662386f26fc1000083816108ec576108eb610db0565b5b0492506010810190505b6305f5e100831061091f576305f5e100838161091557610914610db0565b5b0492506008810190505b612710831061094457612710838161093a57610939610db0565b5b0492506004810190505b60648310610967576064838161095d5761095c610db0565b5b0492506002810190505b600a8310610976576001810190505b80915050919050565b5f6020825110156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90610f4d565b60405180910390fd5b5f6020830151905073ffffffffffffffffffffffffffffffffffffffff8116905080915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610a31826109ef565b610a3b81856109f9565b9350610a4b818560208601610a09565b610a5481610a17565b840191505092915050565b5f6020820190508181035f830152610a778184610a27565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610aa857610aa7610a87565b5b8235905067ffffffffffffffff811115610ac557610ac4610a8b565b5b602083019150836020820283011115610ae157610ae0610a8f565b5b9250929050565b5f8083601f840112610afd57610afc610a87565b5b8235905067ffffffffffffffff811115610b1a57610b19610a8b565b5b602083019150836020820283011115610b3657610b35610a8f565b5b9250929050565b5f805f8060408587031215610b5557610b54610a7f565b5b5f85013567ffffffffffffffff811115610b7257610b71610a83565b5b610b7e87828801610a93565b9450945050602085013567ffffffffffffffff811115610ba157610ba0610a83565b5b610bad87828801610ae8565b925092505092959194509250565b5f8115159050919050565b610bcf81610bbb565b82525050565b5f602082019050610be85f830184610bc6565b92915050565b5f80fd5b5f6101408284031215610c0857610c07610bee565b5b81905092915050565b5f60208284031215610c2657610c25610a7f565b5b5f82013567ffffffffffffffff811115610c4357610c42610a83565b5b610c4f84828501610bf2565b91505092915050565b5f81905092915050565b5f610c6c826109ef565b610c768185610c58565b9350610c86818560208601610a09565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610cc6600183610c58565b9150610cd182610c92565b600182019050919050565b5f610ce78286610c62565b9150610cf282610cba565b9150610cfe8285610c62565b9150610d0982610cba565b9150610d158284610c62565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f8235600161014003833603038112610d7757610d76610d4f565b5b80830191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0682610ddd565b9050919050565b610e1681610dfc565b8114610e20575f80fd5b50565b5f81359050610e3181610e0d565b92915050565b5f60208284031215610e4c57610e4b610a7f565b5b5f610e5984828501610e23565b91505092915050565b5f8083356001602003843603038112610e7e57610e7d610d4f565b5b80840192508235915067ffffffffffffffff821115610ea057610e9f610d53565b5b602083019250600182023603831315610ebc57610ebb610d57565b5b509250929050565b5f81519050610ed281610e0d565b92915050565b5f60208284031215610eed57610eec610a7f565b5b5f610efa84828501610ec4565b91505092915050565b7f4461746120746f6f2073686f72740000000000000000000000000000000000005f82015250565b5f610f37600e836109f9565b9150610f4282610f03565b602082019050919050565b5f6020820190508181035f830152610f6481610f2b565b905091905056fea2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x58 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x88E5B2D9 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x91DB0B7E EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xCE46E046 EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0xE49617E1 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0xE60C3505 EQ PUSH2 0x185 JUMPI PUSH2 0x9D JUMP JUMPDEST CALLDATASIZE PUSH2 0x9D JUMPI PUSH2 0x65 PUSH2 0x1B5 JUMP JUMPDEST PUSH2 0x9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x1574F9F300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xA5F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0xB3D JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0xBD5 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 0xB3D JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x13F PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x486 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1E4 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x20D PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x236 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH2 0x265 PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x361 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x2CA JUMPI PUSH2 0x2C9 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x33B DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x335 SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x60B JUMP JUMPDEST PUSH2 0x34B JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x369 JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x35A DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x37A PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x3BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x3DF JUMPI PUSH2 0x3DE PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x422 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x450 DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x438 JUMPI PUSH2 0x437 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x44A SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x460 JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x47E JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x46F DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x3C3 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48F PUSH2 0x584 JUMP JUMPDEST PUSH2 0x499 DUP3 CALLVALUE PUSH2 0x60B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x4A9 PUSH2 0x584 JUMP JUMPDEST PUSH2 0x4B3 DUP3 CALLVALUE PUSH2 0x622 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0x4C8 DUP5 PUSH2 0x82E JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E6 JUMPI PUSH2 0x4E5 PUSH2 0xD83 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x579 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x525 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4CA8886700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x671 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x685 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0x6A9 JUMPI PUSH0 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 PUSH2 0x705 DUP5 DUP1 PUSH2 0x120 ADD SWAP1 PUSH2 0x6BE SWAP2 SWAP1 PUSH2 0xE62 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 PUSH0 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 PUSH2 0x97F JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x731 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x755 JUMPI PUSH0 SWAP2 POP POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x769 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x7D3 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x7E1 JUMPI PUSH0 SWAP3 POP POP POP PUSH2 0x828 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH1 0xE0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x80B SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x88A JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x880 JUMPI PUSH2 0x87F PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x8C7 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x8BD JUMPI PUSH2 0x8BC PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x8F6 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x8EC JUMPI PUSH2 0x8EB PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x91F JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x915 JUMPI PUSH2 0x914 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x944 JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x967 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x95D JUMPI PUSH2 0x95C PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x976 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 MLOAD LT ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BC SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x20 DUP4 ADD MLOAD SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA31 DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xA3B DUP2 DUP6 PUSH2 0x9F9 JUMP JUMPDEST SWAP4 POP PUSH2 0xA4B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0xA17 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA77 DUP2 DUP5 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAA8 JUMPI PUSH2 0xAA7 PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAC5 JUMPI PUSH2 0xAC4 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAE1 JUMPI PUSH2 0xAE0 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAFD JUMPI PUSH2 0xAFC PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xB36 JUMPI PUSH2 0xB35 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB55 JUMPI PUSH2 0xB54 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB72 JUMPI PUSH2 0xB71 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xB7E DUP8 DUP3 DUP9 ADD PUSH2 0xA93 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xBAD DUP8 DUP3 DUP9 ADD PUSH2 0xAE8 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCF DUP2 PUSH2 0xBBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH0 DUP4 ADD DUP5 PUSH2 0xBC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH2 0x140 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC08 JUMPI PUSH2 0xC07 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC43 JUMPI PUSH2 0xC42 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xC4F DUP5 DUP3 DUP6 ADD PUSH2 0xBF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6C DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xC76 DUP2 DUP6 PUSH2 0xC58 JUMP JUMPDEST SWAP4 POP PUSH2 0xC86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xCC6 PUSH1 0x1 DUP4 PUSH2 0xC58 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD1 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCE7 DUP3 DUP7 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xCF2 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xCFE DUP3 DUP6 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xD09 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xD15 DUP3 DUP5 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH2 0x140 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD77 JUMPI PUSH2 0xD76 PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE06 DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE16 DUP2 PUSH2 0xDFC JUMP JUMPDEST DUP2 EQ PUSH2 0xE20 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE31 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4C JUMPI PUSH2 0xE4B PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE59 DUP5 DUP3 DUP6 ADD PUSH2 0xE23 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xE7E JUMPI PUSH2 0xE7D PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xD53 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xD57 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xED2 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEED JUMPI PUSH2 0xEEC PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEFA DUP5 DUP3 DUP6 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4461746120746F6F2073686F7274000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xF37 PUSH1 0xE DUP4 PUSH2 0x9F9 JUMP JUMPDEST SWAP2 POP PUSH2 0xF42 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF64 DUP2 PUSH2 0xF2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE SWAP12 0xB2 0xC6 SWAP2 0xEB PUSH11 0x4020C67F4FBBD742291EF MUL TLOAD 0xD4 0xD0 SWAP11 SWAP5 GAS 0x4D NOT INVALID SELFDESTRUCT RETURNDATACOPY 0x4E PUSH3 0x64736F PUSH13 0x634300081A0033000000000000 ", + "sourceMap": "344:2067:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1140:11:10;:9;:11::i;:::-;1135:62;;1174:12;;;;;;;;;;;;;;1135:62;344:2067:12;;;;;945:235:11;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3124:1460:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1433:1461;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2936:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1245;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:85;1022:4;972:85;:::o;945:235:11:-;987:13;1072:24;1089:6;1072:16;:24::i;:::-;1103;1120:6;1103:16;:24::i;:::-;1134;1151:6;1134:16;:24::i;:::-;1055:104;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1012:161;;945:235;:::o;3124:1460:10:-;3265:4;901:10;:8;:10::i;:::-;3281:14:::1;3298:12;;:19;;3281:36;;3341:6;;:13;;3331:6;:23;3327:76;;3377:15;;;;;;;;;;;;;;3327:76;3810:22;3835:9;3810:34;;3860:9;3855:701;3879:6;3875:1;:10;3855:701;;;4012:13;4028:6;;4035:1;4028:9;;;;;;;:::i;:::-;;;;;;;;4012:25;;4063:14;4055:5;:22;4051:87;;;4104:19;;;;;;;;;;;;;;4051:87;4266:32;4275:12;;4288:1;4275:15;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;4292:5;4266:8;:32::i;:::-;4261:84;;4325:5;4318:12;;;;;;;;4261:84;4526:5;4508:23;;;;3908:648;3891:15;3904:1;3891:12;:15::i;:::-;3887:19;;3855:701;;;;4573:4;4566:11;;;;922:1;3124:1460:::0;;;;;;:::o;1433:1461::-;1574:4;901:10;:8;:10::i;:::-;1590:14:::1;1607:12;;:19;;1590:36;;1650:6;;:13;;1640:6;:23;1636:76;;1686:15;;;;;;;;;;;;;;1636:76;2119:22;2144:9;2119:34;;2169:9;2164:702;2188:6;2184:1;:10;2164:702;;;2321:13;2337:6;;2344:1;2337:9;;;;;;;:::i;:::-;;;;;;;;2321:25;;2372:14;2364:5;:22;2360:87;;;2413:19;;;;;;;;;;;;;;2360:87;2576:32;2585:12;;2598:1;2585:15;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2602:5;2576:8;:32::i;:::-;2571:84;;2635:5;2628:12;;;;;;;;2571:84;2836:5;2818:23;;;;2217:649;2200:15;2213:1;2200:12;:15::i;:::-;2196:19;;2164:702;;;;2883:4;2876:11;;;;922:1;1433:1461:::0;;;;;;:::o;2936:146::-;3020:4;901:10;:8;:10::i;:::-;3043:32:::1;3052:11;3065:9;3043:8;:32::i;:::-;3036:39;;2936:146:::0;;;:::o;1245:::-;1329:4;901:10;:8;:10::i;:::-;1352:32:::1;1361:11;1374:9;1352:8;:32::i;:::-;1345:39;;1245:146:::0;;;:::o;637:698:2:-;693:13;742:14;779:1;759:17;770:5;759:10;:17::i;:::-;:21;742:38;;794:20;828:6;817:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:41;;849:11;975:6;971:2;967:15;959:6;955:28;948:35;;1010:282;1017:4;1010:282;;;1041:5;;;;;;;;1180:10;1175:2;1168:5;1164:14;1159:32;1154:3;1146:46;1236:2;1227:11;;;;;;:::i;:::-;;;;;1269:1;1260:5;:10;1010:282;1256:21;1010:282;1312:6;1305:13;;;;;637:698;;;:::o;6031:128:10:-;6100:4;6078:27;;:10;:27;;;6074:79;;6128:14;;;;;;;;;;;;;;6074:79;6031:128::o;2268:141:12:-;2375:4;2398;2391:11;;2268:141;;;;:::o;1397:102:5:-;1444:9;1489:1;1485;:5;1481:9;;1397:102;;;:::o;450:1192:12:-;553:4;697:1;664:35;;:11;:21;;;;;;;;;;:::i;:::-;:35;;;660:77;;722:4;715:11;;;;660:77;848:1;811:11;:21;;;;;;;;;;:::i;:::-;:33;;;:38;807:81;;872:5;865:12;;;;807:81;954:16;973:40;996:11;:16;;;;;;;;:::i;:::-;973:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:22;:40::i;:::-;954:59;;1153:8;1128:33;;:11;:21;;;;;;;;;;:::i;:::-;:33;;;1124:76;;1184:5;1177:12;;;;;1124:76;1266:23;1300:11;:21;;;;;;;;;;:::i;:::-;1266:56;;1337:15;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1333:303;;1620:5;1613:12;;;;;;1333:303;1494:5;1470:29;;:11;:20;;;;;;;;;;:::i;:::-;:29;;;1463:36;;;;;450:1192;;;;;:::o;12214:916:3:-;12267:7;12286:14;12303:1;12286:18;;12351:8;12342:5;:17;12338:103;;12388:8;12379:17;;;;;;:::i;:::-;;;;;12424:2;12414:12;;;;12338:103;12467:8;12458:5;:17;12454:103;;12504:8;12495:17;;;;;;:::i;:::-;;;;;12540:2;12530:12;;;;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;;;;:::i;:::-;;;;;12656:2;12646:12;;;;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;;;;:::i;:::-;;;;;12770:1;12760:11;;;;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;;;;:::i;:::-;;;;;12883:1;12873:11;;;;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;;;;:::i;:::-;;;;;12996:1;12986:11;;;;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;;;;13025:66;13117:6;13110:13;;;12214:916;;;:::o;1648:613:12:-;1722:7;1764:2;1749:4;:11;:17;;1741:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1897:24;1990:2;1984:4;1980:13;1974:20;1954:40;;2118:42;2100:16;2096:65;2076:85;;2238:16;2231:23;;;1648:613;;;:::o;7:99:13:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:117;1678:1;1675;1668:12;1692:117;1801:1;1798;1791:12;1815:117;1924:1;1921;1914:12;1966:599;2070:8;2080:6;2130:3;2123:4;2115:6;2111:17;2107:27;2097:122;;2138:79;;:::i;:::-;2097:122;2251:6;2238:20;2228:30;;2281:18;2273:6;2270:30;2267:117;;;2303:79;;:::i;:::-;2267:117;2417:4;2409:6;2405:17;2393:29;;2471:3;2463:4;2455:6;2451:17;2441:8;2437:32;2434:41;2431:128;;;2478:79;;:::i;:::-;2431:128;1966:599;;;;;:::o;2588:568::-;2661:8;2671:6;2721:3;2714:4;2706:6;2702:17;2698:27;2688:122;;2729:79;;:::i;:::-;2688:122;2842:6;2829:20;2819:30;;2872:18;2864:6;2861:30;2858:117;;;2894:79;;:::i;:::-;2858:117;3008:4;3000:6;2996:17;2984:29;;3062:3;3054:4;3046:6;3042:17;3032:8;3028:32;3025:41;3022:128;;;3069:79;;:::i;:::-;3022:128;2588:568;;;;;:::o;3162:996::-;3315:6;3323;3331;3339;3388:2;3376:9;3367:7;3363:23;3359:32;3356:119;;;3394:79;;:::i;:::-;3356:119;3542:1;3531:9;3527:17;3514:31;3572:18;3564:6;3561:30;3558:117;;;3594:79;;:::i;:::-;3558:117;3707:111;3810:7;3801:6;3790:9;3786:22;3707:111;:::i;:::-;3689:129;;;;3485:343;3895:2;3884:9;3880:18;3867:32;3926:18;3918:6;3915:30;3912:117;;;3948:79;;:::i;:::-;3912:117;4061:80;4133:7;4124:6;4113:9;4109:22;4061:80;:::i;:::-;4043:98;;;;3838:313;3162:996;;;;;;;:::o;4164:90::-;4198:7;4241:5;4234:13;4227:21;4216:32;;4164:90;;;:::o;4260:109::-;4341:21;4356:5;4341:21;:::i;:::-;4336:3;4329:34;4260:109;;:::o;4375:210::-;4462:4;4500:2;4489:9;4485:18;4477:26;;4513:65;4575:1;4564:9;4560:17;4551:6;4513:65;:::i;:::-;4375:210;;;;:::o;4591:117::-;4700:1;4697;4690:12;4740:236;4817:5;4858:3;4849:6;4844:3;4840:16;4836:26;4833:113;;;4865:79;;:::i;:::-;4833:113;4964:6;4955:15;;4740:236;;;;:::o;4982:551::-;5072:6;5121:2;5109:9;5100:7;5096:23;5092:32;5089:119;;;5127:79;;:::i;:::-;5089:119;5275:1;5264:9;5260:17;5247:31;5305:18;5297:6;5294:30;5291:117;;;5327:79;;:::i;:::-;5291:117;5432:84;5508:7;5499:6;5488:9;5484:22;5432:84;:::i;:::-;5422:94;;5218:308;4982:551;;;;:::o;5539:148::-;5641:11;5678:3;5663:18;;5539:148;;;;:::o;5693:390::-;5799:3;5827:39;5860:5;5827:39;:::i;:::-;5882:89;5964:6;5959:3;5882:89;:::i;:::-;5875:96;;5980:65;6038:6;6033:3;6026:4;6019:5;6015:16;5980:65;:::i;:::-;6070:6;6065:3;6061:16;6054:23;;5803:280;5693:390;;;;:::o;6089:151::-;6229:3;6225:1;6217:6;6213:14;6206:27;6089:151;:::o;6246:400::-;6406:3;6427:84;6509:1;6504:3;6427:84;:::i;:::-;6420:91;;6520:93;6609:3;6520:93;:::i;:::-;6638:1;6633:3;6629:11;6622:18;;6246:400;;;:::o;6652:1127::-;7082:3;7104:95;7195:3;7186:6;7104:95;:::i;:::-;7097:102;;7216:148;7360:3;7216:148;:::i;:::-;7209:155;;7381:95;7472:3;7463:6;7381:95;:::i;:::-;7374:102;;7493:148;7637:3;7493:148;:::i;:::-;7486:155;;7658:95;7749:3;7740:6;7658:95;:::i;:::-;7651:102;;7770:3;7763:10;;6652:1127;;;;;;:::o;7785:180::-;7833:77;7830:1;7823:88;7930:4;7927:1;7920:15;7954:4;7951:1;7944:15;7971:117;8080:1;8077;8070:12;8094:117;8203:1;8200;8193:12;8217:117;8326:1;8323;8316:12;8340:399;8437:4;8491:11;8478:25;8593:1;8585:6;8581:14;8570:8;8554:14;8550:29;8546:50;8526:18;8522:75;8512:170;;8601:79;;:::i;:::-;8512:170;8713:18;8703:8;8699:33;8691:41;;8442:297;8340:399;;;;:::o;8745:180::-;8793:77;8790:1;8783:88;8890:4;8887:1;8880:15;8914:4;8911:1;8904:15;8931:180;8979:77;8976:1;8969:88;9076:4;9073:1;9066:15;9100:4;9097:1;9090:15;9117:126;9154:7;9194:42;9187:5;9183:54;9172:65;;9117:126;;;:::o;9249:96::-;9286:7;9315:24;9333:5;9315:24;:::i;:::-;9304:35;;9249:96;;;:::o;9351:122::-;9424:24;9442:5;9424:24;:::i;:::-;9417:5;9414:35;9404:63;;9463:1;9460;9453:12;9404:63;9351:122;:::o;9479:139::-;9525:5;9563:6;9550:20;9541:29;;9579:33;9606:5;9579:33;:::i;:::-;9479:139;;;;:::o;9624:329::-;9683:6;9732:2;9720:9;9711:7;9707:23;9703:32;9700:119;;;9738:79;;:::i;:::-;9700:119;9858:1;9883:53;9928:7;9919:6;9908:9;9904:22;9883:53;:::i;:::-;9873:63;;9829:117;9624:329;;;;:::o;9959:724::-;10036:4;10042:6;10098:11;10085:25;10198:1;10192:4;10188:12;10177:8;10161:14;10157:29;10153:48;10133:18;10129:73;10119:168;;10206:79;;:::i;:::-;10119:168;10318:18;10308:8;10304:33;10296:41;;10370:4;10357:18;10347:28;;10398:18;10390:6;10387:30;10384:117;;;10420:79;;:::i;:::-;10384:117;10528:2;10522:4;10518:13;10510:21;;10585:4;10577:6;10573:17;10557:14;10553:38;10547:4;10543:49;10540:136;;;10595:79;;:::i;:::-;10540:136;10049:634;9959:724;;;;;:::o;10689:143::-;10746:5;10777:6;10771:13;10762:22;;10793:33;10820:5;10793:33;:::i;:::-;10689:143;;;;:::o;10838:351::-;10908:6;10957:2;10945:9;10936:7;10932:23;10928:32;10925:119;;;10963:79;;:::i;:::-;10925:119;11083:1;11108:64;11164:7;11155:6;11144:9;11140:22;11108:64;:::i;:::-;11098:74;;11054:128;10838:351;;;;:::o;11195:164::-;11335:16;11331:1;11323:6;11319:14;11312:40;11195:164;:::o;11365:366::-;11507:3;11528:67;11592:2;11587:3;11528:67;:::i;:::-;11521:74;;11604:93;11693:3;11604:93;:::i;:::-;11722:2;11717:3;11713:12;11706:19;;11365:366;;;:::o;11737:419::-;11903:4;11941:2;11930:9;11926:18;11918:26;;11990:9;11984:4;11980:20;11976:1;11965:9;11961:17;11954:47;12018:131;12144:4;12018:131;:::i;:::-;12010:139;;11737:419;;;:::o" + }, + "gasEstimates": { + "creation": { + "codeDepositCost": "800200", + "executionCost": "infinite", + "totalCost": "infinite" + }, + "external": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "infinite", + "isPayable()": "374", + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "infinite", + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "infinite", + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "infinite", + "version()": "infinite" + }, + "internal": { + "extractAddressFromData(bytes memory)": "infinite", + "onAttest(struct Attestation calldata,uint256)": "infinite", + "onRevoke(struct Attestation calldata,uint256)": "29" + } + }, + "legacyAssembly": { + ".code": [ + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "100" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 344, + "end": 2411, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "CALLVALUE", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "DUP1", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "ISZERO", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "PUSH [tag]", + "source": 12, + "value": "1" + }, + { + "begin": 400, + "end": 444, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 400, + "end": 444, + "name": "DUP1", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "REVERT", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "tag", + "source": 12, + "value": "1" + }, + { + "begin": 400, + "end": 444, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "POP", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 400, + "end": 444, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "PUSHSIZE", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "CODESIZE", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "SUB", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "DUP1", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "PUSHSIZE", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "DUP4", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "CODECOPY", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "DUP2", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "DUP2", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "ADD", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 400, + "end": 444, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "DUP2", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "ADD", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "PUSH [tag]", + "source": 12, + "value": "2" + }, + { + "begin": 400, + "end": 444, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "PUSH [tag]", + "source": 12, + "value": "3" + }, + { + "begin": 400, + "end": 444, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 400, + "end": 444, + "name": "tag", + "source": 12, + "value": "2" + }, + { + "begin": 400, + "end": 444, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 437, + "end": 440, + "name": "DUP1", + "source": 12 + }, + { + "begin": 676, + "end": 677, + "name": "PUSH", + "source": 10, + "value": "1" + }, + { + "begin": 679, + "end": 680, + "name": "PUSH", + "source": 10, + "value": "3" + }, + { + "begin": 682, + "end": 683, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 768, + "end": 773, + "name": "DUP3", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "PUSH", + "source": 11, + "value": "80" + }, + { + "begin": 759, + "end": 773, + "name": "DUP2", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "DUP2", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "POP", + "source": 11 + }, + { + "begin": 759, + "end": 773, + "name": "POP", + "source": 11 + }, + { + "begin": 792, + "end": 797, + "name": "DUP2", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "PUSH", + "source": 11, + "value": "A0" + }, + { + "begin": 783, + "end": 797, + "name": "DUP2", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "DUP2", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "POP", + "source": 11 + }, + { + "begin": 783, + "end": 797, + "name": "POP", + "source": 11 + }, + { + "begin": 816, + "end": 821, + "name": "DUP1", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "PUSH", + "source": 11, + "value": "C0" + }, + { + "begin": 807, + "end": 821, + "name": "DUP2", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "DUP2", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "POP", + "source": 11 + }, + { + "begin": 807, + "end": 821, + "name": "POP", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "POP", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "POP", + "source": 11 + }, + { + "begin": 692, + "end": 828, + "name": "POP", + "source": 11 + }, + { + "begin": 723, + "end": 724, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 699, + "end": 725, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 699, + "end": 725, + "modifierDepth": 1, + "name": "AND", + "source": 10 + }, + { + "begin": 707, + "end": 710, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 699, + "end": 725, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 699, + "end": 725, + "modifierDepth": 1, + "name": "AND", + "source": 10 + }, + { + "begin": 699, + "end": 725, + "name": "SUB", + "source": 10 + }, + { + "begin": 695, + "end": 771, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "9" + }, + { + "begin": 695, + "end": 771, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "83780FFE00000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "MSTORE", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "DUP1", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "SUB", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 748, + "end": 760, + "modifierDepth": 1, + "name": "REVERT", + "source": 10 + }, + { + "begin": 695, + "end": 771, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "9" + }, + { + "begin": 695, + "end": 771, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 788, + "end": 791, + "modifierDepth": 1, + "name": "DUP1", + "source": 10 + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "AND", + "source": 10 + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "E0" + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "AND", + "source": 10 + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "MSTORE", + "source": 10 + }, + { + "begin": 781, + "end": 791, + "name": "POP", + "source": 10 + }, + { + "begin": 781, + "end": 791, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 647, + "end": 798, + "name": "POP", + "source": 10 + }, + { + "begin": 400, + "end": 444, + "name": "POP", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "11" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMP", + "source": 12 + }, + { + "begin": 88, + "end": 205, + "name": "tag", + "source": 13, + "value": "13" + }, + { + "begin": 88, + "end": 205, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 197, + "end": 198, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 194, + "end": 195, + "name": "DUP1", + "source": 13 + }, + { + "begin": 187, + "end": 199, + "name": "REVERT", + "source": 13 + }, + { + "begin": 334, + "end": 460, + "name": "tag", + "source": 13, + "value": "15" + }, + { + "begin": 334, + "end": 460, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 371, + "end": 378, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 411, + "end": 453, + "name": "PUSH", + "source": 13, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 404, + "end": 409, + "name": "DUP3", + "source": 13 + }, + { + "begin": 400, + "end": 454, + "name": "AND", + "source": 13 + }, + { + "begin": 389, + "end": 454, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 389, + "end": 454, + "name": "POP", + "source": 13 + }, + { + "begin": 334, + "end": 460, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 334, + "end": 460, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 334, + "end": 460, + "name": "POP", + "source": 13 + }, + { + "begin": 334, + "end": 460, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 466, + "end": 562, + "name": "tag", + "source": 13, + "value": "16" + }, + { + "begin": 466, + "end": 562, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 503, + "end": 510, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 532, + "end": 556, + "name": "PUSH [tag]", + "source": 13, + "value": "26" + }, + { + "begin": 550, + "end": 555, + "name": "DUP3", + "source": 13 + }, + { + "begin": 532, + "end": 556, + "name": "PUSH [tag]", + "source": 13, + "value": "15" + }, + { + "begin": 532, + "end": 556, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 532, + "end": 556, + "name": "tag", + "source": 13, + "value": "26" + }, + { + "begin": 532, + "end": 556, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 521, + "end": 556, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 521, + "end": 556, + "name": "POP", + "source": 13 + }, + { + "begin": 466, + "end": 562, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 466, + "end": 562, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 466, + "end": 562, + "name": "POP", + "source": 13 + }, + { + "begin": 466, + "end": 562, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 568, + "end": 677, + "name": "tag", + "source": 13, + "value": "17" + }, + { + "begin": 568, + "end": 677, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 618, + "end": 625, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 647, + "end": 671, + "name": "PUSH [tag]", + "source": 13, + "value": "28" + }, + { + "begin": 665, + "end": 670, + "name": "DUP3", + "source": 13 + }, + { + "begin": 647, + "end": 671, + "name": "PUSH [tag]", + "source": 13, + "value": "16" + }, + { + "begin": 647, + "end": 671, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 647, + "end": 671, + "name": "tag", + "source": 13, + "value": "28" + }, + { + "begin": 647, + "end": 671, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 636, + "end": 671, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 636, + "end": 671, + "name": "POP", + "source": 13 + }, + { + "begin": 568, + "end": 677, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 568, + "end": 677, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 568, + "end": 677, + "name": "POP", + "source": 13 + }, + { + "begin": 568, + "end": 677, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 683, + "end": 831, + "name": "tag", + "source": 13, + "value": "18" + }, + { + "begin": 683, + "end": 831, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 769, + "end": 806, + "name": "PUSH [tag]", + "source": 13, + "value": "30" + }, + { + "begin": 800, + "end": 805, + "name": "DUP2", + "source": 13 + }, + { + "begin": 769, + "end": 806, + "name": "PUSH [tag]", + "source": 13, + "value": "17" + }, + { + "begin": 769, + "end": 806, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 769, + "end": 806, + "name": "tag", + "source": 13, + "value": "30" + }, + { + "begin": 769, + "end": 806, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 762, + "end": 767, + "name": "DUP2", + "source": 13 + }, + { + "begin": 759, + "end": 807, + "name": "EQ", + "source": 13 + }, + { + "begin": 749, + "end": 825, + "name": "PUSH [tag]", + "source": 13, + "value": "31" + }, + { + "begin": 749, + "end": 825, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 821, + "end": 822, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 818, + "end": 819, + "name": "DUP1", + "source": 13 + }, + { + "begin": 811, + "end": 823, + "name": "REVERT", + "source": 13 + }, + { + "begin": 749, + "end": 825, + "name": "tag", + "source": 13, + "value": "31" + }, + { + "begin": 749, + "end": 825, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 683, + "end": 831, + "name": "POP", + "source": 13 + }, + { + "begin": 683, + "end": 831, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 837, + "end": 1006, + "name": "tag", + "source": 13, + "value": "19" + }, + { + "begin": 837, + "end": 1006, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 907, + "end": 912, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 938, + "end": 944, + "name": "DUP2", + "source": 13 + }, + { + "begin": 932, + "end": 945, + "name": "MLOAD", + "source": 13 + }, + { + "begin": 923, + "end": 945, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 923, + "end": 945, + "name": "POP", + "source": 13 + }, + { + "begin": 954, + "end": 1000, + "name": "PUSH [tag]", + "source": 13, + "value": "33" + }, + { + "begin": 994, + "end": 999, + "name": "DUP2", + "source": 13 + }, + { + "begin": 954, + "end": 1000, + "name": "PUSH [tag]", + "source": 13, + "value": "18" + }, + { + "begin": 954, + "end": 1000, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 954, + "end": 1000, + "name": "tag", + "source": 13, + "value": "33" + }, + { + "begin": 954, + "end": 1000, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 837, + "end": 1006, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 837, + "end": 1006, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 837, + "end": 1006, + "name": "POP", + "source": 13 + }, + { + "begin": 837, + "end": 1006, + "name": "POP", + "source": 13 + }, + { + "begin": 837, + "end": 1006, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1012, + "end": 1389, + "name": "tag", + "source": 13, + "value": "3" + }, + { + "begin": 1012, + "end": 1389, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1095, + "end": 1101, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1144, + "end": 1146, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 1132, + "end": 1141, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1123, + "end": 1130, + "name": "DUP5", + "source": 13 + }, + { + "begin": 1119, + "end": 1142, + "name": "SUB", + "source": 13 + }, + { + "begin": 1115, + "end": 1147, + "name": "SLT", + "source": 13 + }, + { + "begin": 1112, + "end": 1231, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 1112, + "end": 1231, + "name": "PUSH [tag]", + "source": 13, + "value": "35" + }, + { + "begin": 1112, + "end": 1231, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 1150, + "end": 1229, + "name": "PUSH [tag]", + "source": 13, + "value": "36" + }, + { + "begin": 1150, + "end": 1229, + "name": "PUSH [tag]", + "source": 13, + "value": "13" + }, + { + "begin": 1150, + "end": 1229, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1150, + "end": 1229, + "name": "tag", + "source": 13, + "value": "36" + }, + { + "begin": 1150, + "end": 1229, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1112, + "end": 1231, + "name": "tag", + "source": 13, + "value": "35" + }, + { + "begin": 1112, + "end": 1231, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1270, + "end": 1271, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1295, + "end": 1372, + "name": "PUSH [tag]", + "source": 13, + "value": "37" + }, + { + "begin": 1364, + "end": 1371, + "name": "DUP5", + "source": 13 + }, + { + "begin": 1355, + "end": 1361, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1344, + "end": 1353, + "name": "DUP6", + "source": 13 + }, + { + "begin": 1340, + "end": 1362, + "name": "ADD", + "source": 13 + }, + { + "begin": 1295, + "end": 1372, + "name": "PUSH [tag]", + "source": 13, + "value": "19" + }, + { + "begin": 1295, + "end": 1372, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1295, + "end": 1372, + "name": "tag", + "source": 13, + "value": "37" + }, + { + "begin": 1295, + "end": 1372, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1285, + "end": 1372, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 1285, + "end": 1372, + "name": "POP", + "source": 13 + }, + { + "begin": 1241, + "end": 1382, + "name": "POP", + "source": 13 + }, + { + "begin": 1012, + "end": 1389, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 1012, + "end": 1389, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 1012, + "end": 1389, + "name": "POP", + "source": 13 + }, + { + "begin": 1012, + "end": 1389, + "name": "POP", + "source": 13 + }, + { + "begin": 1012, + "end": 1389, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 344, + "end": 2411, + "name": "tag", + "source": 12, + "value": "11" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "80" + }, + { + "begin": 344, + "end": 2411, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "A0" + }, + { + "begin": 344, + "end": 2411, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "C0" + }, + { + "begin": 344, + "end": 2411, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "E0" + }, + { + "begin": 344, + "end": 2411, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH #[$]", + "source": 12, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [$]", + "source": 12, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 344, + "end": 2411, + "name": "CODECOPY", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 344, + "end": 2411, + "name": "ASSIGNIMMUTABLE", + "source": 12, + "value": "2113" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 344, + "end": 2411, + "name": "ASSIGNIMMUTABLE", + "source": 12, + "value": "2429" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 344, + "end": 2411, + "name": "ASSIGNIMMUTABLE", + "source": 12, + "value": "2427" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 344, + "end": 2411, + "name": "ASSIGNIMMUTABLE", + "source": 12, + "value": "2425" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH #[$]", + "source": 12, + "value": "0000000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 344, + "end": 2411, + "name": "RETURN", + "source": 12 + } + ], + ".data": { + "0": { + ".auxdata": "a2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", + ".code": [ + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "80" + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 344, + "end": 2411, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "4" + }, + { + "begin": 344, + "end": 2411, + "name": "CALLDATASIZE", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "LT", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "1" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 344, + "end": 2411, + "name": "CALLDATALOAD", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "E0" + }, + { + "begin": 344, + "end": 2411, + "name": "SHR", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "DUP1", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "54FD4D50" + }, + { + "begin": 344, + "end": 2411, + "name": "EQ", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "3" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "DUP1", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "88E5B2D9" + }, + { + "begin": 344, + "end": 2411, + "name": "EQ", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "4" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "DUP1", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "91DB0B7E" + }, + { + "begin": 344, + "end": 2411, + "name": "EQ", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "5" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "DUP1", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "CE46E046" + }, + { + "begin": 344, + "end": 2411, + "name": "EQ", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "6" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "DUP1", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "E49617E1" + }, + { + "begin": 344, + "end": 2411, + "name": "EQ", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "7" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "DUP1", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "E60C3505" + }, + { + "begin": 344, + "end": 2411, + "name": "EQ", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "8" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "2" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMP", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "tag", + "source": 12, + "value": "1" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "CALLDATASIZE", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH [tag]", + "source": 12, + "value": "2" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 1140, + "end": 1151, + "name": "PUSH [tag]", + "source": 10, + "value": "11" + }, + { + "begin": 1140, + "end": 1149, + "name": "PUSH [tag]", + "source": 10, + "value": "12" + }, + { + "begin": 1140, + "end": 1151, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1140, + "end": 1151, + "name": "tag", + "source": 10, + "value": "11" + }, + { + "begin": 1140, + "end": 1151, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1135, + "end": 1197, + "name": "PUSH [tag]", + "source": 10, + "value": "13" + }, + { + "begin": 1135, + "end": 1197, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 1174, + "end": 1186, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "PUSH", + "source": 10, + "value": "1574F9F300000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 1174, + "end": 1186, + "name": "DUP2", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "MSTORE", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 1174, + "end": 1186, + "name": "ADD", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 1174, + "end": 1186, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "DUP1", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "SUB", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1174, + "end": 1186, + "name": "REVERT", + "source": 10 + }, + { + "begin": 1135, + "end": 1197, + "name": "tag", + "source": 10, + "value": "13" + }, + { + "begin": 1135, + "end": 1197, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 344, + "end": 2411, + "name": "STOP", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "tag", + "source": 12, + "value": "2" + }, + { + "begin": 344, + "end": 2411, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 344, + "end": 2411, + "name": "DUP1", + "source": 12 + }, + { + "begin": 344, + "end": 2411, + "name": "REVERT", + "source": 12 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "3" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "CALLVALUE", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "DUP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "ISZERO", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "14" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPI", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH", + "source": 11, + "value": "0" + }, + { + "begin": 945, + "end": 1180, + "name": "DUP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "REVERT", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "14" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "POP", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "15" + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "16" + }, + { + "begin": 945, + "end": 1180, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "15" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 945, + "end": 1180, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "17" + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP2", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH [tag]", + "source": 11, + "value": "18" + }, + { + "begin": 945, + "end": 1180, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "17" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 945, + "end": 1180, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "DUP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP2", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SUB", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "RETURN", + "source": 11 + }, + { + "begin": 3124, + "end": 4584, + "name": "tag", + "source": 10, + "value": "4" + }, + { + "begin": 3124, + "end": 4584, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH [tag]", + "source": 10, + "value": "19" + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 3124, + "end": 4584, + "name": "DUP1", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "CALLDATASIZE", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SUB", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "DUP2", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "ADD", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH [tag]", + "source": 10, + "value": "20" + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH [tag]", + "source": 10, + "value": "21" + }, + { + "begin": 3124, + "end": 4584, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "tag", + "source": 10, + "value": "20" + }, + { + "begin": 3124, + "end": 4584, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH [tag]", + "source": 10, + "value": "22" + }, + { + "begin": 3124, + "end": 4584, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "tag", + "source": 10, + "value": "19" + }, + { + "begin": 3124, + "end": 4584, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 3124, + "end": 4584, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH [tag]", + "source": 10, + "value": "23" + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH [tag]", + "source": 10, + "value": "24" + }, + { + "begin": 3124, + "end": 4584, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "tag", + "source": 10, + "value": "23" + }, + { + "begin": 3124, + "end": 4584, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 3124, + "end": 4584, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "DUP1", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SUB", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "RETURN", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "tag", + "source": 10, + "value": "5" + }, + { + "begin": 1433, + "end": 2894, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH [tag]", + "source": 10, + "value": "25" + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 1433, + "end": 2894, + "name": "DUP1", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "CALLDATASIZE", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SUB", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "DUP2", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "ADD", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH [tag]", + "source": 10, + "value": "26" + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH [tag]", + "source": 10, + "value": "21" + }, + { + "begin": 1433, + "end": 2894, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "tag", + "source": 10, + "value": "26" + }, + { + "begin": 1433, + "end": 2894, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH [tag]", + "source": 10, + "value": "27" + }, + { + "begin": 1433, + "end": 2894, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "tag", + "source": 10, + "value": "25" + }, + { + "begin": 1433, + "end": 2894, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 1433, + "end": 2894, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH [tag]", + "source": 10, + "value": "28" + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH [tag]", + "source": 10, + "value": "24" + }, + { + "begin": 1433, + "end": 2894, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "tag", + "source": 10, + "value": "28" + }, + { + "begin": 1433, + "end": 2894, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 1433, + "end": 2894, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "DUP1", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SUB", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "RETURN", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "tag", + "source": 10, + "value": "6" + }, + { + "begin": 972, + "end": 1057, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "CALLVALUE", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "DUP1", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "ISZERO", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "PUSH [tag]", + "source": 10, + "value": "29" + }, + { + "begin": 972, + "end": 1057, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 972, + "end": 1057, + "name": "DUP1", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "REVERT", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "tag", + "source": 10, + "value": "29" + }, + { + "begin": 972, + "end": 1057, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "POP", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "PUSH [tag]", + "source": 10, + "value": "30" + }, + { + "begin": 972, + "end": 1057, + "name": "PUSH [tag]", + "source": 10, + "value": "12" + }, + { + "begin": 972, + "end": 1057, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "tag", + "source": 10, + "value": "30" + }, + { + "begin": 972, + "end": 1057, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 972, + "end": 1057, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "PUSH [tag]", + "source": 10, + "value": "31" + }, + { + "begin": 972, + "end": 1057, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "PUSH [tag]", + "source": 10, + "value": "24" + }, + { + "begin": 972, + "end": 1057, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "tag", + "source": 10, + "value": "31" + }, + { + "begin": 972, + "end": 1057, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 972, + "end": 1057, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "DUP1", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "SUB", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "RETURN", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "tag", + "source": 10, + "value": "7" + }, + { + "begin": 2936, + "end": 3082, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH [tag]", + "source": 10, + "value": "32" + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 2936, + "end": 3082, + "name": "DUP1", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "CALLDATASIZE", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SUB", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "ADD", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH [tag]", + "source": 10, + "value": "33" + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH [tag]", + "source": 10, + "value": "34" + }, + { + "begin": 2936, + "end": 3082, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "tag", + "source": 10, + "value": "33" + }, + { + "begin": 2936, + "end": 3082, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH [tag]", + "source": 10, + "value": "35" + }, + { + "begin": 2936, + "end": 3082, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "tag", + "source": 10, + "value": "32" + }, + { + "begin": 2936, + "end": 3082, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 2936, + "end": 3082, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH [tag]", + "source": 10, + "value": "36" + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH [tag]", + "source": 10, + "value": "24" + }, + { + "begin": 2936, + "end": 3082, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "tag", + "source": 10, + "value": "36" + }, + { + "begin": 2936, + "end": 3082, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 2936, + "end": 3082, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "DUP1", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SUB", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "RETURN", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "tag", + "source": 10, + "value": "8" + }, + { + "begin": 1245, + "end": 1391, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH [tag]", + "source": 10, + "value": "37" + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 1245, + "end": 1391, + "name": "DUP1", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "CALLDATASIZE", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SUB", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "DUP2", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "ADD", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH [tag]", + "source": 10, + "value": "38" + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH [tag]", + "source": 10, + "value": "34" + }, + { + "begin": 1245, + "end": 1391, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "tag", + "source": 10, + "value": "38" + }, + { + "begin": 1245, + "end": 1391, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH [tag]", + "source": 10, + "value": "39" + }, + { + "begin": 1245, + "end": 1391, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "tag", + "source": 10, + "value": "37" + }, + { + "begin": 1245, + "end": 1391, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 1245, + "end": 1391, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH [tag]", + "source": 10, + "value": "40" + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH [tag]", + "source": 10, + "value": "24" + }, + { + "begin": 1245, + "end": 1391, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "tag", + "source": 10, + "value": "40" + }, + { + "begin": 1245, + "end": 1391, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 1245, + "end": 1391, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "DUP1", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SUB", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "RETURN", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "name": "tag", + "source": 10, + "value": "12" + }, + { + "begin": 972, + "end": 1057, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1022, + "end": 1026, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 972, + "end": 1057, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 972, + "end": 1057, + "jumpType": "[out]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 945, + "end": 1180, + "name": "tag", + "source": 11, + "value": "16" + }, + { + "begin": 945, + "end": 1180, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 987, + "end": 1000, + "name": "PUSH", + "source": 11, + "value": "60" + }, + { + "begin": 1072, + "end": 1096, + "name": "PUSH [tag]", + "source": 11, + "value": "43" + }, + { + "begin": 1089, + "end": 1095, + "name": "PUSHIMMUTABLE", + "source": 11, + "value": "2425" + }, + { + "begin": 1072, + "end": 1088, + "name": "PUSH [tag]", + "source": 11, + "value": "44" + }, + { + "begin": 1072, + "end": 1096, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 1072, + "end": 1096, + "name": "tag", + "source": 11, + "value": "43" + }, + { + "begin": 1072, + "end": 1096, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 1103, + "end": 1127, + "name": "PUSH [tag]", + "source": 11, + "value": "45" + }, + { + "begin": 1120, + "end": 1126, + "name": "PUSHIMMUTABLE", + "source": 11, + "value": "2427" + }, + { + "begin": 1103, + "end": 1119, + "name": "PUSH [tag]", + "source": 11, + "value": "44" + }, + { + "begin": 1103, + "end": 1127, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 1103, + "end": 1127, + "name": "tag", + "source": 11, + "value": "45" + }, + { + "begin": 1103, + "end": 1127, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 1134, + "end": 1158, + "name": "PUSH [tag]", + "source": 11, + "value": "46" + }, + { + "begin": 1151, + "end": 1157, + "name": "PUSHIMMUTABLE", + "source": 11, + "value": "2429" + }, + { + "begin": 1134, + "end": 1150, + "name": "PUSH [tag]", + "source": 11, + "value": "44" + }, + { + "begin": 1134, + "end": 1158, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 1134, + "end": 1158, + "name": "tag", + "source": 11, + "value": "46" + }, + { + "begin": 1134, + "end": 1158, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 1055, + "end": 1159, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "20" + }, + { + "begin": 1055, + "end": 1159, + "name": "ADD", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH [tag]", + "source": 11, + "value": "47" + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP4", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP3", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP2", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH [tag]", + "source": 11, + "value": "48" + }, + { + "begin": 1055, + "end": 1159, + "jumpType": "[in]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "tag", + "source": 11, + "value": "47" + }, + { + "begin": 1055, + "end": 1159, + "name": "JUMPDEST", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 1055, + "end": 1159, + "name": "MLOAD", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "20" + }, + { + "begin": 1055, + "end": 1159, + "name": "DUP2", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "DUP4", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SUB", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SUB", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "DUP2", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 1055, + "end": 1159, + "name": "PUSH", + "source": 11, + "value": "40" + }, + { + "begin": 1055, + "end": 1159, + "name": "MSTORE", + "source": 11 + }, + { + "begin": 1012, + "end": 1173, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 1012, + "end": 1173, + "name": "POP", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "name": "SWAP1", + "source": 11 + }, + { + "begin": 945, + "end": 1180, + "jumpType": "[out]", + "name": "JUMP", + "source": 11 + }, + { + "begin": 3124, + "end": 4584, + "name": "tag", + "source": 10, + "value": "22" + }, + { + "begin": 3124, + "end": 4584, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3265, + "end": 3269, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 901, + "end": 911, + "name": "PUSH [tag]", + "source": 10, + "value": "50" + }, + { + "begin": 901, + "end": 909, + "name": "PUSH [tag]", + "source": 10, + "value": "51" + }, + { + "begin": 901, + "end": 911, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 901, + "end": 911, + "name": "tag", + "source": 10, + "value": "50" + }, + { + "begin": 901, + "end": 911, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3281, + "end": 3295, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 3298, + "end": 3310, + "modifierDepth": 1, + "name": "DUP6", + "source": 10 + }, + { + "begin": 3298, + "end": 3310, + "modifierDepth": 1, + "name": "DUP6", + "source": 10 + }, + { + "begin": 3298, + "end": 3317, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3298, + "end": 3317, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 3281, + "end": 3317, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3281, + "end": 3317, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 3341, + "end": 3347, + "modifierDepth": 1, + "name": "DUP4", + "source": 10 + }, + { + "begin": 3341, + "end": 3347, + "modifierDepth": 1, + "name": "DUP4", + "source": 10 + }, + { + "begin": 3341, + "end": 3354, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3341, + "end": 3354, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 3331, + "end": 3337, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 3331, + "end": 3354, + "modifierDepth": 1, + "name": "EQ", + "source": 10 + }, + { + "begin": 3327, + "end": 3403, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "53" + }, + { + "begin": 3327, + "end": 3403, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "947D5A8400000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "MSTORE", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "DUP1", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "SUB", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3377, + "end": 3392, + "modifierDepth": 1, + "name": "REVERT", + "source": 10 + }, + { + "begin": 3327, + "end": 3403, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "53" + }, + { + "begin": 3327, + "end": 3403, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3810, + "end": 3832, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 3835, + "end": 3844, + "modifierDepth": 1, + "name": "CALLVALUE", + "source": 10 + }, + { + "begin": 3810, + "end": 3844, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3810, + "end": 3844, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 3860, + "end": 3869, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "54" + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3879, + "end": 3885, + "modifierDepth": 1, + "name": "DUP3", + "source": 10 + }, + { + "begin": 3875, + "end": 3876, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 3875, + "end": 3885, + "modifierDepth": 1, + "name": "LT", + "source": 10 + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "ISZERO", + "source": 10 + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "55" + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 4012, + "end": 4025, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 4028, + "end": 4034, + "modifierDepth": 1, + "name": "DUP7", + "source": 10 + }, + { + "begin": 4028, + "end": 4034, + "modifierDepth": 1, + "name": "DUP7", + "source": 10 + }, + { + "begin": 4035, + "end": 4036, + "modifierDepth": 1, + "name": "DUP4", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "LT", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "57" + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "58" + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "59" + }, + { + "begin": 4028, + "end": 4037, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "58" + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "57" + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "20" + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "MUL", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 4028, + "end": 4037, + "modifierDepth": 1, + "name": "CALLDATALOAD", + "source": 10 + }, + { + "begin": 4012, + "end": 4037, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 4012, + "end": 4037, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4063, + "end": 4077, + "modifierDepth": 1, + "name": "DUP3", + "source": 10 + }, + { + "begin": 4055, + "end": 4060, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 4055, + "end": 4077, + "modifierDepth": 1, + "name": "GT", + "source": 10 + }, + { + "begin": 4051, + "end": 4138, + "modifierDepth": 1, + "name": "ISZERO", + "source": 10 + }, + { + "begin": 4051, + "end": 4138, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "60" + }, + { + "begin": 4051, + "end": 4138, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "1101129400000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "MSTORE", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "DUP1", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "SUB", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 4104, + "end": 4123, + "modifierDepth": 1, + "name": "REVERT", + "source": 10 + }, + { + "begin": 4051, + "end": 4138, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "60" + }, + { + "begin": 4051, + "end": 4138, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 4266, + "end": 4298, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "61" + }, + { + "begin": 4275, + "end": 4287, + "modifierDepth": 1, + "name": "DUP10", + "source": 10 + }, + { + "begin": 4275, + "end": 4287, + "modifierDepth": 1, + "name": "DUP10", + "source": 10 + }, + { + "begin": 4288, + "end": 4289, + "modifierDepth": 1, + "name": "DUP5", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "LT", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "62" + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "63" + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "59" + }, + { + "begin": 4275, + "end": 4290, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "63" + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "62" + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "20" + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "MUL", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "64" + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "65" + }, + { + "begin": 4275, + "end": 4290, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "64" + }, + { + "begin": 4275, + "end": 4290, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 4292, + "end": 4297, + "modifierDepth": 1, + "name": "DUP3", + "source": 10 + }, + { + "begin": 4266, + "end": 4274, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "66" + }, + { + "begin": 4266, + "end": 4298, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 4266, + "end": 4298, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "61" + }, + { + "begin": 4266, + "end": 4298, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 4261, + "end": 4345, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "67" + }, + { + "begin": 4261, + "end": 4345, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 4325, + "end": 4330, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 4318, + "end": 4330, + "modifierDepth": 1, + "name": "SWAP5", + "source": 10 + }, + { + "begin": 4318, + "end": 4330, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4318, + "end": 4330, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4318, + "end": 4330, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4318, + "end": 4330, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4318, + "end": 4330, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4318, + "end": 4330, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "52" + }, + { + "begin": 4318, + "end": 4330, + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 4261, + "end": 4345, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "67" + }, + { + "begin": 4261, + "end": 4345, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 4526, + "end": 4531, + "modifierDepth": 1, + "name": "DUP1", + "source": 10 + }, + { + "begin": 4508, + "end": 4531, + "modifierDepth": 1, + "name": "DUP4", + "source": 10 + }, + { + "begin": 4508, + "end": 4531, + "modifierDepth": 1, + "name": "SUB", + "source": 10 + }, + { + "begin": 4508, + "end": 4531, + "modifierDepth": 1, + "name": "SWAP3", + "source": 10 + }, + { + "begin": 4508, + "end": 4531, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 3908, + "end": 4556, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 3891, + "end": 3906, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "68" + }, + { + "begin": 3904, + "end": 3905, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 3891, + "end": 3903, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "69" + }, + { + "begin": 3891, + "end": 3906, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 3891, + "end": 3906, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "68" + }, + { + "begin": 3891, + "end": 3906, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3887, + "end": 3906, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3887, + "end": 3906, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "54" + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "55" + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3855, + "end": 4556, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4573, + "end": 4577, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "1" + }, + { + "begin": 4566, + "end": 4577, + "modifierDepth": 1, + "name": "SWAP3", + "source": 10 + }, + { + "begin": 4566, + "end": 4577, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4566, + "end": 4577, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 4566, + "end": 4577, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 922, + "end": 923, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "52" + }, + { + "begin": 922, + "end": 923, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP5", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "SWAP4", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "POP", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "POP", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "POP", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "name": "POP", + "source": 10 + }, + { + "begin": 3124, + "end": 4584, + "jumpType": "[out]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "tag", + "source": 10, + "value": "27" + }, + { + "begin": 1433, + "end": 2894, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1574, + "end": 1578, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 901, + "end": 911, + "name": "PUSH [tag]", + "source": 10, + "value": "71" + }, + { + "begin": 901, + "end": 909, + "name": "PUSH [tag]", + "source": 10, + "value": "51" + }, + { + "begin": 901, + "end": 911, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 901, + "end": 911, + "name": "tag", + "source": 10, + "value": "71" + }, + { + "begin": 901, + "end": 911, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1590, + "end": 1604, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 1607, + "end": 1619, + "modifierDepth": 1, + "name": "DUP6", + "source": 10 + }, + { + "begin": 1607, + "end": 1619, + "modifierDepth": 1, + "name": "DUP6", + "source": 10 + }, + { + "begin": 1607, + "end": 1626, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1607, + "end": 1626, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 1590, + "end": 1626, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1590, + "end": 1626, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 1650, + "end": 1656, + "modifierDepth": 1, + "name": "DUP4", + "source": 10 + }, + { + "begin": 1650, + "end": 1656, + "modifierDepth": 1, + "name": "DUP4", + "source": 10 + }, + { + "begin": 1650, + "end": 1663, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1650, + "end": 1663, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 1640, + "end": 1646, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 1640, + "end": 1663, + "modifierDepth": 1, + "name": "EQ", + "source": 10 + }, + { + "begin": 1636, + "end": 1712, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "73" + }, + { + "begin": 1636, + "end": 1712, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "947D5A8400000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "MSTORE", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "DUP1", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "SUB", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1686, + "end": 1701, + "modifierDepth": 1, + "name": "REVERT", + "source": 10 + }, + { + "begin": 1636, + "end": 1712, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "73" + }, + { + "begin": 1636, + "end": 1712, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2119, + "end": 2141, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 2144, + "end": 2153, + "modifierDepth": 1, + "name": "CALLVALUE", + "source": 10 + }, + { + "begin": 2119, + "end": 2153, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2119, + "end": 2153, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2169, + "end": 2178, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "74" + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2188, + "end": 2194, + "modifierDepth": 1, + "name": "DUP3", + "source": 10 + }, + { + "begin": 2184, + "end": 2185, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2184, + "end": 2194, + "modifierDepth": 1, + "name": "LT", + "source": 10 + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "ISZERO", + "source": 10 + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "75" + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 2321, + "end": 2334, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 2337, + "end": 2343, + "modifierDepth": 1, + "name": "DUP7", + "source": 10 + }, + { + "begin": 2337, + "end": 2343, + "modifierDepth": 1, + "name": "DUP7", + "source": 10 + }, + { + "begin": 2344, + "end": 2345, + "modifierDepth": 1, + "name": "DUP4", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "LT", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "77" + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "78" + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "59" + }, + { + "begin": 2337, + "end": 2346, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "78" + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "77" + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "20" + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "MUL", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 2337, + "end": 2346, + "modifierDepth": 1, + "name": "CALLDATALOAD", + "source": 10 + }, + { + "begin": 2321, + "end": 2346, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2321, + "end": 2346, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2372, + "end": 2386, + "modifierDepth": 1, + "name": "DUP3", + "source": 10 + }, + { + "begin": 2364, + "end": 2369, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2364, + "end": 2386, + "modifierDepth": 1, + "name": "GT", + "source": 10 + }, + { + "begin": 2360, + "end": 2447, + "modifierDepth": 1, + "name": "ISZERO", + "source": 10 + }, + { + "begin": 2360, + "end": 2447, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "79" + }, + { + "begin": 2360, + "end": 2447, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "1101129400000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "MSTORE", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "DUP1", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "SUB", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2413, + "end": 2432, + "modifierDepth": 1, + "name": "REVERT", + "source": 10 + }, + { + "begin": 2360, + "end": 2447, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "79" + }, + { + "begin": 2360, + "end": 2447, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2576, + "end": 2608, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "80" + }, + { + "begin": 2585, + "end": 2597, + "modifierDepth": 1, + "name": "DUP10", + "source": 10 + }, + { + "begin": 2585, + "end": 2597, + "modifierDepth": 1, + "name": "DUP10", + "source": 10 + }, + { + "begin": 2598, + "end": 2599, + "modifierDepth": 1, + "name": "DUP5", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "LT", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "81" + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "82" + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "59" + }, + { + "begin": 2585, + "end": 2600, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "82" + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "81" + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "20" + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "MUL", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "ADD", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "83" + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "65" + }, + { + "begin": 2585, + "end": 2600, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "83" + }, + { + "begin": 2585, + "end": 2600, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2602, + "end": 2607, + "modifierDepth": 1, + "name": "DUP3", + "source": 10 + }, + { + "begin": 2576, + "end": 2584, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "84" + }, + { + "begin": 2576, + "end": 2608, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 2576, + "end": 2608, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "80" + }, + { + "begin": 2576, + "end": 2608, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2571, + "end": 2655, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "85" + }, + { + "begin": 2571, + "end": 2655, + "modifierDepth": 1, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 2635, + "end": 2640, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 2628, + "end": 2640, + "modifierDepth": 1, + "name": "SWAP5", + "source": 10 + }, + { + "begin": 2628, + "end": 2640, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2628, + "end": 2640, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2628, + "end": 2640, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2628, + "end": 2640, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2628, + "end": 2640, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2628, + "end": 2640, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "72" + }, + { + "begin": 2628, + "end": 2640, + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 2571, + "end": 2655, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "85" + }, + { + "begin": 2571, + "end": 2655, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2836, + "end": 2841, + "modifierDepth": 1, + "name": "DUP1", + "source": 10 + }, + { + "begin": 2818, + "end": 2841, + "modifierDepth": 1, + "name": "DUP4", + "source": 10 + }, + { + "begin": 2818, + "end": 2841, + "modifierDepth": 1, + "name": "SUB", + "source": 10 + }, + { + "begin": 2818, + "end": 2841, + "modifierDepth": 1, + "name": "SWAP3", + "source": 10 + }, + { + "begin": 2818, + "end": 2841, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2217, + "end": 2866, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2200, + "end": 2215, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "86" + }, + { + "begin": 2213, + "end": 2214, + "modifierDepth": 1, + "name": "DUP2", + "source": 10 + }, + { + "begin": 2200, + "end": 2212, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "69" + }, + { + "begin": 2200, + "end": 2215, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 2200, + "end": 2215, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "86" + }, + { + "begin": 2200, + "end": 2215, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2196, + "end": 2215, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2196, + "end": 2215, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "74" + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "75" + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 2164, + "end": 2866, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2883, + "end": 2887, + "modifierDepth": 1, + "name": "PUSH", + "source": 10, + "value": "1" + }, + { + "begin": 2876, + "end": 2887, + "modifierDepth": 1, + "name": "SWAP3", + "source": 10 + }, + { + "begin": 2876, + "end": 2887, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2876, + "end": 2887, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2876, + "end": 2887, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 922, + "end": 923, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "72" + }, + { + "begin": 922, + "end": 923, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP5", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "SWAP4", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "POP", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "POP", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "POP", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "name": "POP", + "source": 10 + }, + { + "begin": 1433, + "end": 2894, + "jumpType": "[out]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "tag", + "source": 10, + "value": "35" + }, + { + "begin": 2936, + "end": 3082, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3020, + "end": 3024, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 901, + "end": 911, + "name": "PUSH [tag]", + "source": 10, + "value": "88" + }, + { + "begin": 901, + "end": 909, + "name": "PUSH [tag]", + "source": 10, + "value": "51" + }, + { + "begin": 901, + "end": 911, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 901, + "end": 911, + "name": "tag", + "source": 10, + "value": "88" + }, + { + "begin": 901, + "end": 911, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3043, + "end": 3075, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "90" + }, + { + "begin": 3052, + "end": 3063, + "modifierDepth": 1, + "name": "DUP3", + "source": 10 + }, + { + "begin": 3065, + "end": 3074, + "modifierDepth": 1, + "name": "CALLVALUE", + "source": 10 + }, + { + "begin": 3043, + "end": 3051, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "66" + }, + { + "begin": 3043, + "end": 3075, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 3043, + "end": 3075, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "90" + }, + { + "begin": 3043, + "end": 3075, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 3036, + "end": 3075, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 3036, + "end": 3075, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "name": "POP", + "source": 10 + }, + { + "begin": 2936, + "end": 3082, + "jumpType": "[out]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "tag", + "source": 10, + "value": "39" + }, + { + "begin": 1245, + "end": 1391, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1329, + "end": 1333, + "name": "PUSH", + "source": 10, + "value": "0" + }, + { + "begin": 901, + "end": 911, + "name": "PUSH [tag]", + "source": 10, + "value": "92" + }, + { + "begin": 901, + "end": 909, + "name": "PUSH [tag]", + "source": 10, + "value": "51" + }, + { + "begin": 901, + "end": 911, + "jumpType": "[in]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 901, + "end": 911, + "name": "tag", + "source": 10, + "value": "92" + }, + { + "begin": 901, + "end": 911, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1352, + "end": 1384, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "94" + }, + { + "begin": 1361, + "end": 1372, + "modifierDepth": 1, + "name": "DUP3", + "source": 10 + }, + { + "begin": 1374, + "end": 1383, + "modifierDepth": 1, + "name": "CALLVALUE", + "source": 10 + }, + { + "begin": 1352, + "end": 1360, + "modifierDepth": 1, + "name": "PUSH [tag]", + "source": 10, + "value": "84" + }, + { + "begin": 1352, + "end": 1384, + "jumpType": "[in]", + "modifierDepth": 1, + "name": "JUMP", + "source": 10 + }, + { + "begin": 1352, + "end": 1384, + "modifierDepth": 1, + "name": "tag", + "source": 10, + "value": "94" + }, + { + "begin": 1352, + "end": 1384, + "modifierDepth": 1, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 1345, + "end": 1384, + "modifierDepth": 1, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1345, + "end": 1384, + "modifierDepth": 1, + "name": "POP", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "name": "POP", + "source": 10 + }, + { + "begin": 1245, + "end": 1391, + "jumpType": "[out]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 637, + "end": 1335, + "name": "tag", + "source": 2, + "value": "44" + }, + { + "begin": 637, + "end": 1335, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 693, + "end": 706, + "name": "PUSH", + "source": 2, + "value": "60" + }, + { + "begin": 742, + "end": 756, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 779, + "end": 780, + "name": "PUSH", + "source": 2, + "value": "1" + }, + { + "begin": 759, + "end": 776, + "name": "PUSH [tag]", + "source": 2, + "value": "96" + }, + { + "begin": 770, + "end": 775, + "name": "DUP5", + "source": 2 + }, + { + "begin": 759, + "end": 769, + "name": "PUSH [tag]", + "source": 2, + "value": "97" + }, + { + "begin": 759, + "end": 776, + "jumpType": "[in]", + "name": "JUMP", + "source": 2 + }, + { + "begin": 759, + "end": 776, + "name": "tag", + "source": 2, + "value": "96" + }, + { + "begin": 759, + "end": 776, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 759, + "end": 780, + "name": "ADD", + "source": 2 + }, + { + "begin": 742, + "end": 780, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 742, + "end": 780, + "name": "POP", + "source": 2 + }, + { + "begin": 794, + "end": 814, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 828, + "end": 834, + "name": "DUP2", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "FFFFFFFFFFFFFFFF" + }, + { + "begin": 817, + "end": 835, + "name": "DUP2", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "GT", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "ISZERO", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH [tag]", + "source": 2, + "value": "98" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH [tag]", + "source": 2, + "value": "99" + }, + { + "begin": 817, + "end": 835, + "name": "PUSH [tag]", + "source": 2, + "value": "100" + }, + { + "begin": 817, + "end": 835, + "jumpType": "[in]", + "name": "JUMP", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "tag", + "source": 2, + "value": "99" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "tag", + "source": 2, + "value": "98" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "40" + }, + { + "begin": 817, + "end": 835, + "name": "MLOAD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP3", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "MSTORE", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "1F" + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "1F" + }, + { + "begin": 817, + "end": 835, + "name": "NOT", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "AND", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "20" + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP3", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "40" + }, + { + "begin": 817, + "end": 835, + "name": "MSTORE", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "ISZERO", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH [tag]", + "source": 2, + "value": "101" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP2", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "20" + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "PUSH", + "source": 2, + "value": "1" + }, + { + "begin": 817, + "end": 835, + "name": "DUP3", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "MUL", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "CALLDATASIZE", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP4", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "CALLDATACOPY", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "DUP3", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "ADD", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "SWAP2", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "tag", + "source": 2, + "value": "101" + }, + { + "begin": 817, + "end": 835, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 817, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 794, + "end": 835, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 794, + "end": 835, + "name": "POP", + "source": 2 + }, + { + "begin": 849, + "end": 860, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 975, + "end": 981, + "name": "DUP3", + "source": 2 + }, + { + "begin": 971, + "end": 973, + "name": "PUSH", + "source": 2, + "value": "20" + }, + { + "begin": 967, + "end": 982, + "name": "ADD", + "source": 2 + }, + { + "begin": 959, + "end": 965, + "name": "DUP3", + "source": 2 + }, + { + "begin": 955, + "end": 983, + "name": "ADD", + "source": 2 + }, + { + "begin": 948, + "end": 983, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 948, + "end": 983, + "name": "POP", + "source": 2 + }, + { + "begin": 1010, + "end": 1292, + "name": "tag", + "source": 2, + "value": "102" + }, + { + "begin": 1010, + "end": 1292, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 1017, + "end": 1021, + "name": "PUSH", + "source": 2, + "value": "1" + }, + { + "begin": 1010, + "end": 1292, + "name": "ISZERO", + "source": 2 + }, + { + "begin": 1010, + "end": 1292, + "name": "PUSH [tag]", + "source": 2, + "value": "103" + }, + { + "begin": 1010, + "end": 1292, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "DUP1", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "DUP1", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "PUSH", + "source": 2, + "value": "1" + }, + { + "begin": 1041, + "end": 1046, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "SUB", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "SWAP2", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "POP", + "source": 2 + }, + { + "begin": 1041, + "end": 1046, + "name": "POP", + "source": 2 + }, + { + "begin": 1180, + "end": 1190, + "name": "PUSH", + "source": 2, + "value": "3031323334353637383961626364656600000000000000000000000000000000" + }, + { + "begin": 1175, + "end": 1177, + "name": "PUSH", + "source": 2, + "value": "A" + }, + { + "begin": 1168, + "end": 1173, + "name": "DUP7", + "source": 2 + }, + { + "begin": 1164, + "end": 1178, + "name": "MOD", + "source": 2 + }, + { + "begin": 1159, + "end": 1191, + "name": "BYTE", + "source": 2 + }, + { + "begin": 1154, + "end": 1157, + "name": "DUP2", + "source": 2 + }, + { + "begin": 1146, + "end": 1192, + "name": "MSTORE8", + "source": 2 + }, + { + "begin": 1236, + "end": 1238, + "name": "PUSH", + "source": 2, + "value": "A" + }, + { + "begin": 1227, + "end": 1238, + "name": "DUP6", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "DUP2", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "PUSH [tag]", + "source": 2, + "value": "104" + }, + { + "begin": 1227, + "end": 1238, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "PUSH [tag]", + "source": 2, + "value": "105" + }, + { + "begin": 1227, + "end": 1238, + "name": "PUSH [tag]", + "source": 2, + "value": "106" + }, + { + "begin": 1227, + "end": 1238, + "jumpType": "[in]", + "name": "JUMP", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "tag", + "source": 2, + "value": "105" + }, + { + "begin": 1227, + "end": 1238, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "tag", + "source": 2, + "value": "104" + }, + { + "begin": 1227, + "end": 1238, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "DIV", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "SWAP5", + "source": 2 + }, + { + "begin": 1227, + "end": 1238, + "name": "POP", + "source": 2 + }, + { + "begin": 1269, + "end": 1270, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 1260, + "end": 1265, + "name": "DUP6", + "source": 2 + }, + { + "begin": 1260, + "end": 1270, + "name": "SUB", + "source": 2 + }, + { + "begin": 1010, + "end": 1292, + "name": "PUSH [tag]", + "source": 2, + "value": "102" + }, + { + "begin": 1256, + "end": 1277, + "name": "JUMPI", + "source": 2 + }, + { + "begin": 1010, + "end": 1292, + "name": "tag", + "source": 2, + "value": "103" + }, + { + "begin": 1010, + "end": 1292, + "name": "JUMPDEST", + "source": 2 + }, + { + "begin": 1312, + "end": 1318, + "name": "DUP2", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "SWAP4", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "POP", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "POP", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "POP", + "source": 2 + }, + { + "begin": 1305, + "end": 1318, + "name": "POP", + "source": 2 + }, + { + "begin": 637, + "end": 1335, + "name": "SWAP2", + "source": 2 + }, + { + "begin": 637, + "end": 1335, + "name": "SWAP1", + "source": 2 + }, + { + "begin": 637, + "end": 1335, + "name": "POP", + "source": 2 + }, + { + "begin": 637, + "end": 1335, + "jumpType": "[out]", + "name": "JUMP", + "source": 2 + }, + { + "begin": 6031, + "end": 6159, + "name": "tag", + "source": 10, + "value": "51" + }, + { + "begin": 6031, + "end": 6159, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 6100, + "end": 6104, + "name": "PUSHIMMUTABLE", + "source": 10, + "value": "2113" + }, + { + "begin": 6078, + "end": 6105, + "name": "PUSH", + "source": 10, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 6078, + "end": 6105, + "name": "AND", + "source": 10 + }, + { + "begin": 6078, + "end": 6088, + "name": "CALLER", + "source": 10 + }, + { + "begin": 6078, + "end": 6105, + "name": "PUSH", + "source": 10, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 6078, + "end": 6105, + "name": "AND", + "source": 10 + }, + { + "begin": 6078, + "end": 6105, + "name": "EQ", + "source": 10 + }, + { + "begin": 6074, + "end": 6153, + "name": "PUSH [tag]", + "source": 10, + "value": "109" + }, + { + "begin": 6074, + "end": 6153, + "name": "JUMPI", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 6128, + "end": 6142, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "PUSH", + "source": 10, + "value": "4CA8886700000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 6128, + "end": 6142, + "name": "DUP2", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "MSTORE", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "PUSH", + "source": 10, + "value": "4" + }, + { + "begin": 6128, + "end": 6142, + "name": "ADD", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "PUSH", + "source": 10, + "value": "40" + }, + { + "begin": 6128, + "end": 6142, + "name": "MLOAD", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "DUP1", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "SWAP2", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "SUB", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "SWAP1", + "source": 10 + }, + { + "begin": 6128, + "end": 6142, + "name": "REVERT", + "source": 10 + }, + { + "begin": 6074, + "end": 6153, + "name": "tag", + "source": 10, + "value": "109" + }, + { + "begin": 6074, + "end": 6153, + "name": "JUMPDEST", + "source": 10 + }, + { + "begin": 6031, + "end": 6159, + "jumpType": "[out]", + "name": "JUMP", + "source": 10 + }, + { + "begin": 2268, + "end": 2409, + "name": "tag", + "source": 12, + "value": "66" + }, + { + "begin": 2268, + "end": 2409, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 2375, + "end": 2379, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 2398, + "end": 2402, + "name": "PUSH", + "source": 12, + "value": "1" + }, + { + "begin": 2391, + "end": 2402, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 2391, + "end": 2402, + "name": "POP", + "source": 12 + }, + { + "begin": 2268, + "end": 2409, + "name": "SWAP3", + "source": 12 + }, + { + "begin": 2268, + "end": 2409, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 2268, + "end": 2409, + "name": "POP", + "source": 12 + }, + { + "begin": 2268, + "end": 2409, + "name": "POP", + "source": 12 + }, + { + "begin": 2268, + "end": 2409, + "jumpType": "[out]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 1397, + "end": 1499, + "name": "tag", + "source": 5, + "value": "69" + }, + { + "begin": 1397, + "end": 1499, + "name": "JUMPDEST", + "source": 5 + }, + { + "begin": 1444, + "end": 1453, + "name": "PUSH", + "source": 5, + "value": "0" + }, + { + "begin": 1489, + "end": 1490, + "name": "PUSH", + "source": 5, + "value": "1" + }, + { + "begin": 1485, + "end": 1486, + "name": "DUP3", + "source": 5 + }, + { + "begin": 1485, + "end": 1490, + "name": "ADD", + "source": 5 + }, + { + "begin": 1481, + "end": 1490, + "name": "SWAP1", + "source": 5 + }, + { + "begin": 1481, + "end": 1490, + "name": "POP", + "source": 5 + }, + { + "begin": 1397, + "end": 1499, + "name": "SWAP2", + "source": 5 + }, + { + "begin": 1397, + "end": 1499, + "name": "SWAP1", + "source": 5 + }, + { + "begin": 1397, + "end": 1499, + "name": "POP", + "source": 5 + }, + { + "begin": 1397, + "end": 1499, + "jumpType": "[out]", + "name": "JUMP", + "source": 5 + }, + { + "begin": 450, + "end": 1642, + "name": "tag", + "source": 12, + "value": "84" + }, + { + "begin": 450, + "end": 1642, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 553, + "end": 557, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 697, + "end": 698, + "name": "DUP1", + "source": 12 + }, + { + "begin": 664, + "end": 699, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 664, + "end": 699, + "name": "AND", + "source": 12 + }, + { + "begin": 664, + "end": 675, + "name": "DUP4", + "source": 12 + }, + { + "begin": 664, + "end": 685, + "name": "PUSH", + "source": 12, + "value": "C0" + }, + { + "begin": 664, + "end": 685, + "name": "ADD", + "source": 12 + }, + { + "begin": 664, + "end": 685, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 664, + "end": 685, + "name": "DUP2", + "source": 12 + }, + { + "begin": 664, + "end": 685, + "name": "ADD", + "source": 12 + }, + { + "begin": 664, + "end": 685, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 664, + "end": 685, + "name": "PUSH [tag]", + "source": 12, + "value": "113" + }, + { + "begin": 664, + "end": 685, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 664, + "end": 685, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 664, + "end": 685, + "name": "PUSH [tag]", + "source": 12, + "value": "114" + }, + { + "begin": 664, + "end": 685, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 664, + "end": 685, + "name": "tag", + "source": 12, + "value": "113" + }, + { + "begin": 664, + "end": 685, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 664, + "end": 699, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 664, + "end": 699, + "name": "AND", + "source": 12 + }, + { + "begin": 664, + "end": 699, + "name": "SUB", + "source": 12 + }, + { + "begin": 660, + "end": 737, + "name": "PUSH [tag]", + "source": 12, + "value": "115" + }, + { + "begin": 660, + "end": 737, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 722, + "end": 726, + "name": "PUSH", + "source": 12, + "value": "1" + }, + { + "begin": 715, + "end": 726, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 715, + "end": 726, + "name": "POP", + "source": 12 + }, + { + "begin": 715, + "end": 726, + "name": "PUSH [tag]", + "source": 12, + "value": "112" + }, + { + "begin": 715, + "end": 726, + "name": "JUMP", + "source": 12 + }, + { + "begin": 660, + "end": 737, + "name": "tag", + "source": 12, + "value": "115" + }, + { + "begin": 660, + "end": 737, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 848, + "end": 849, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 811, + "end": 822, + "name": "DUP4", + "source": 12 + }, + { + "begin": 811, + "end": 832, + "name": "PUSH", + "source": 12, + "value": "C0" + }, + { + "begin": 811, + "end": 832, + "name": "ADD", + "source": 12 + }, + { + "begin": 811, + "end": 832, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 811, + "end": 832, + "name": "DUP2", + "source": 12 + }, + { + "begin": 811, + "end": 832, + "name": "ADD", + "source": 12 + }, + { + "begin": 811, + "end": 832, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 811, + "end": 832, + "name": "PUSH [tag]", + "source": 12, + "value": "116" + }, + { + "begin": 811, + "end": 832, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 811, + "end": 832, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 811, + "end": 832, + "name": "PUSH [tag]", + "source": 12, + "value": "114" + }, + { + "begin": 811, + "end": 832, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 811, + "end": 832, + "name": "tag", + "source": 12, + "value": "116" + }, + { + "begin": 811, + "end": 832, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 811, + "end": 844, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 811, + "end": 844, + "name": "AND", + "source": 12 + }, + { + "begin": 811, + "end": 844, + "name": "EXTCODESIZE", + "source": 12 + }, + { + "begin": 811, + "end": 849, + "name": "SUB", + "source": 12 + }, + { + "begin": 807, + "end": 888, + "name": "PUSH [tag]", + "source": 12, + "value": "117" + }, + { + "begin": 807, + "end": 888, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 872, + "end": 877, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 865, + "end": 877, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 865, + "end": 877, + "name": "POP", + "source": 12 + }, + { + "begin": 865, + "end": 877, + "name": "PUSH [tag]", + "source": 12, + "value": "112" + }, + { + "begin": 865, + "end": 877, + "name": "JUMP", + "source": 12 + }, + { + "begin": 807, + "end": 888, + "name": "tag", + "source": 12, + "value": "117" + }, + { + "begin": 807, + "end": 888, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 954, + "end": 970, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH [tag]", + "source": 12, + "value": "118" + }, + { + "begin": 996, + "end": 1007, + "name": "DUP5", + "source": 12 + }, + { + "begin": 996, + "end": 1012, + "name": "DUP1", + "source": 12 + }, + { + "begin": 996, + "end": 1012, + "name": "PUSH", + "source": 12, + "value": "120" + }, + { + "begin": 996, + "end": 1012, + "name": "ADD", + "source": 12 + }, + { + "begin": 996, + "end": 1012, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 996, + "end": 1012, + "name": "PUSH [tag]", + "source": 12, + "value": "119" + }, + { + "begin": 996, + "end": 1012, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 996, + "end": 1012, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 996, + "end": 1012, + "name": "PUSH [tag]", + "source": 12, + "value": "120" + }, + { + "begin": 996, + "end": 1012, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 996, + "end": 1012, + "name": "tag", + "source": 12, + "value": "119" + }, + { + "begin": 996, + "end": 1012, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "1F" + }, + { + "begin": 973, + "end": 1013, + "name": "ADD", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 973, + "end": 1013, + "name": "DUP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DIV", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "MUL", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 973, + "end": 1013, + "name": "ADD", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 973, + "end": 1013, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP2", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "ADD", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 973, + "end": 1013, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "SWAP4", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "SWAP3", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP2", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP2", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 973, + "end": 1013, + "name": "ADD", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP4", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP4", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP3", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP5", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "CALLDATACOPY", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 973, + "end": 1013, + "name": "DUP2", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP5", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "ADD", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "1F" + }, + { + "begin": 973, + "end": 1013, + "name": "NOT", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "PUSH", + "source": 12, + "value": "1F" + }, + { + "begin": 973, + "end": 1013, + "name": "DUP3", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "ADD", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "AND", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP1", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "DUP4", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "ADD", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "SWAP3", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 973, + "end": 995, + "name": "PUSH [tag]", + "source": 12, + "value": "121" + }, + { + "begin": 973, + "end": 1013, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 973, + "end": 1013, + "name": "tag", + "source": 12, + "value": "118" + }, + { + "begin": 973, + "end": 1013, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 954, + "end": 1013, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 954, + "end": 1013, + "name": "POP", + "source": 12 + }, + { + "begin": 1153, + "end": 1161, + "name": "DUP1", + "source": 12 + }, + { + "begin": 1128, + "end": 1161, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 1128, + "end": 1161, + "name": "AND", + "source": 12 + }, + { + "begin": 1128, + "end": 1139, + "name": "DUP5", + "source": 12 + }, + { + "begin": 1128, + "end": 1149, + "name": "PUSH", + "source": 12, + "value": "C0" + }, + { + "begin": 1128, + "end": 1149, + "name": "ADD", + "source": 12 + }, + { + "begin": 1128, + "end": 1149, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 1128, + "end": 1149, + "name": "DUP2", + "source": 12 + }, + { + "begin": 1128, + "end": 1149, + "name": "ADD", + "source": 12 + }, + { + "begin": 1128, + "end": 1149, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1128, + "end": 1149, + "name": "PUSH [tag]", + "source": 12, + "value": "122" + }, + { + "begin": 1128, + "end": 1149, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 1128, + "end": 1149, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1128, + "end": 1149, + "name": "PUSH [tag]", + "source": 12, + "value": "114" + }, + { + "begin": 1128, + "end": 1149, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 1128, + "end": 1149, + "name": "tag", + "source": 12, + "value": "122" + }, + { + "begin": 1128, + "end": 1149, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1128, + "end": 1161, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 1128, + "end": 1161, + "name": "AND", + "source": 12 + }, + { + "begin": 1128, + "end": 1161, + "name": "EQ", + "source": 12 + }, + { + "begin": 1124, + "end": 1200, + "name": "PUSH [tag]", + "source": 12, + "value": "123" + }, + { + "begin": 1124, + "end": 1200, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 1184, + "end": 1189, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 1177, + "end": 1189, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 1177, + "end": 1189, + "name": "POP", + "source": 12 + }, + { + "begin": 1177, + "end": 1189, + "name": "POP", + "source": 12 + }, + { + "begin": 1177, + "end": 1189, + "name": "PUSH [tag]", + "source": 12, + "value": "112" + }, + { + "begin": 1177, + "end": 1189, + "name": "JUMP", + "source": 12 + }, + { + "begin": 1124, + "end": 1200, + "name": "tag", + "source": 12, + "value": "123" + }, + { + "begin": 1124, + "end": 1200, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1266, + "end": 1289, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 1300, + "end": 1311, + "name": "DUP5", + "source": 12 + }, + { + "begin": 1300, + "end": 1321, + "name": "PUSH", + "source": 12, + "value": "C0" + }, + { + "begin": 1300, + "end": 1321, + "name": "ADD", + "source": 12 + }, + { + "begin": 1300, + "end": 1321, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 1300, + "end": 1321, + "name": "DUP2", + "source": 12 + }, + { + "begin": 1300, + "end": 1321, + "name": "ADD", + "source": 12 + }, + { + "begin": 1300, + "end": 1321, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1300, + "end": 1321, + "name": "PUSH [tag]", + "source": 12, + "value": "124" + }, + { + "begin": 1300, + "end": 1321, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 1300, + "end": 1321, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1300, + "end": 1321, + "name": "PUSH [tag]", + "source": 12, + "value": "114" + }, + { + "begin": 1300, + "end": 1321, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 1300, + "end": 1321, + "name": "tag", + "source": 12, + "value": "124" + }, + { + "begin": 1300, + "end": 1321, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1266, + "end": 1322, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1266, + "end": 1322, + "name": "POP", + "source": 12 + }, + { + "begin": 1337, + "end": 1352, + "name": "DUP1", + "source": 12 + }, + { + "begin": 1337, + "end": 1358, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 1337, + "end": 1358, + "name": "AND", + "source": 12 + }, + { + "begin": 1337, + "end": 1358, + "name": "PUSH", + "source": 12, + "value": "8DA5CB5B" + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 1337, + "end": 1360, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP2", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFF" + }, + { + "begin": 1337, + "end": 1360, + "name": "AND", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "E0" + }, + { + "begin": 1337, + "end": 1360, + "name": "SHL", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP2", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "4" + }, + { + "begin": 1337, + "end": 1360, + "name": "ADD", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 1337, + "end": 1360, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP1", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP4", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "SUB", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP2", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP7", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "GAS", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "STATICCALL", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "SWAP3", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "POP", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "POP", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "POP", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP1", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "ISZERO", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH [tag]", + "source": 12, + "value": "125" + }, + { + "begin": 1337, + "end": 1360, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "POP", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 1337, + "end": 1360, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "RETURNDATASIZE", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "1F" + }, + { + "begin": 1337, + "end": 1360, + "name": "NOT", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "1F" + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP3", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "ADD", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "AND", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP3", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "ADD", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP1", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 1337, + "end": 1360, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "POP", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "DUP2", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "ADD", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH [tag]", + "source": 12, + "value": "126" + }, + { + "begin": 1337, + "end": 1360, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH [tag]", + "source": 12, + "value": "127" + }, + { + "begin": 1337, + "end": 1360, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "tag", + "source": 12, + "value": "126" + }, + { + "begin": 1337, + "end": 1360, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1337, + "end": 1360, + "name": "PUSH", + "source": 12, + "value": "1" + }, + { + "begin": 1337, + "end": 1360, + "name": "tag", + "source": 12, + "value": "125" + }, + { + "begin": 1337, + "end": 1360, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1333, + "end": 1636, + "name": "PUSH [tag]", + "source": 12, + "value": "128" + }, + { + "begin": 1333, + "end": 1636, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 1620, + "end": 1625, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 1613, + "end": 1625, + "name": "SWAP3", + "source": 12 + }, + { + "begin": 1613, + "end": 1625, + "name": "POP", + "source": 12 + }, + { + "begin": 1613, + "end": 1625, + "name": "POP", + "source": 12 + }, + { + "begin": 1613, + "end": 1625, + "name": "POP", + "source": 12 + }, + { + "begin": 1613, + "end": 1625, + "name": "PUSH [tag]", + "source": 12, + "value": "112" + }, + { + "begin": 1613, + "end": 1625, + "name": "JUMP", + "source": 12 + }, + { + "begin": 1333, + "end": 1636, + "name": "tag", + "source": 12, + "value": "128" + }, + { + "begin": 1333, + "end": 1636, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1494, + "end": 1499, + "name": "DUP1", + "source": 12 + }, + { + "begin": 1470, + "end": 1499, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 1470, + "end": 1499, + "name": "AND", + "source": 12 + }, + { + "begin": 1470, + "end": 1481, + "name": "DUP7", + "source": 12 + }, + { + "begin": 1470, + "end": 1490, + "name": "PUSH", + "source": 12, + "value": "E0" + }, + { + "begin": 1470, + "end": 1490, + "name": "ADD", + "source": 12 + }, + { + "begin": 1470, + "end": 1490, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 1470, + "end": 1490, + "name": "DUP2", + "source": 12 + }, + { + "begin": 1470, + "end": 1490, + "name": "ADD", + "source": 12 + }, + { + "begin": 1470, + "end": 1490, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1470, + "end": 1490, + "name": "PUSH [tag]", + "source": 12, + "value": "133" + }, + { + "begin": 1470, + "end": 1490, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 1470, + "end": 1490, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1470, + "end": 1490, + "name": "PUSH [tag]", + "source": 12, + "value": "114" + }, + { + "begin": 1470, + "end": 1490, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 1470, + "end": 1490, + "name": "tag", + "source": 12, + "value": "133" + }, + { + "begin": 1470, + "end": 1490, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1470, + "end": 1499, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 1470, + "end": 1499, + "name": "AND", + "source": 12 + }, + { + "begin": 1470, + "end": 1499, + "name": "EQ", + "source": 12 + }, + { + "begin": 1463, + "end": 1499, + "name": "SWAP4", + "source": 12 + }, + { + "begin": 1463, + "end": 1499, + "name": "POP", + "source": 12 + }, + { + "begin": 1463, + "end": 1499, + "name": "POP", + "source": 12 + }, + { + "begin": 1463, + "end": 1499, + "name": "POP", + "source": 12 + }, + { + "begin": 1463, + "end": 1499, + "name": "POP", + "source": 12 + }, + { + "begin": 450, + "end": 1642, + "name": "tag", + "source": 12, + "value": "112" + }, + { + "begin": 450, + "end": 1642, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 450, + "end": 1642, + "name": "SWAP3", + "source": 12 + }, + { + "begin": 450, + "end": 1642, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 450, + "end": 1642, + "name": "POP", + "source": 12 + }, + { + "begin": 450, + "end": 1642, + "name": "POP", + "source": 12 + }, + { + "begin": 450, + "end": 1642, + "jumpType": "[out]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 12214, + "end": 13130, + "name": "tag", + "source": 3, + "value": "97" + }, + { + "begin": 12214, + "end": 13130, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12267, + "end": 12274, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 12286, + "end": 12300, + "name": "DUP1", + "source": 3 + }, + { + "begin": 12303, + "end": 12304, + "name": "PUSH", + "source": 3, + "value": "0" + }, + { + "begin": 12286, + "end": 12304, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12286, + "end": 12304, + "name": "POP", + "source": 3 + }, + { + "begin": 12351, + "end": 12359, + "name": "PUSH", + "source": 3, + "value": "184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000" + }, + { + "begin": 12342, + "end": 12347, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12342, + "end": 12359, + "name": "LT", + "source": 3 + }, + { + "begin": 12338, + "end": 12441, + "name": "PUSH [tag]", + "source": 3, + "value": "135" + }, + { + "begin": 12338, + "end": 12441, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12388, + "end": 12396, + "name": "PUSH", + "source": 3, + "value": "184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000" + }, + { + "begin": 12379, + "end": 12396, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "PUSH [tag]", + "source": 3, + "value": "136" + }, + { + "begin": 12379, + "end": 12396, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "PUSH [tag]", + "source": 3, + "value": "137" + }, + { + "begin": 12379, + "end": 12396, + "name": "PUSH [tag]", + "source": 3, + "value": "106" + }, + { + "begin": 12379, + "end": 12396, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "tag", + "source": 3, + "value": "137" + }, + { + "begin": 12379, + "end": 12396, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "tag", + "source": 3, + "value": "136" + }, + { + "begin": 12379, + "end": 12396, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "DIV", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12379, + "end": 12396, + "name": "POP", + "source": 3 + }, + { + "begin": 12424, + "end": 12426, + "name": "PUSH", + "source": 3, + "value": "40" + }, + { + "begin": 12414, + "end": 12426, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12414, + "end": 12426, + "name": "ADD", + "source": 3 + }, + { + "begin": 12414, + "end": 12426, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12414, + "end": 12426, + "name": "POP", + "source": 3 + }, + { + "begin": 12338, + "end": 12441, + "name": "tag", + "source": 3, + "value": "135" + }, + { + "begin": 12338, + "end": 12441, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12467, + "end": 12475, + "name": "PUSH", + "source": 3, + "value": "4EE2D6D415B85ACEF8100000000" + }, + { + "begin": 12458, + "end": 12463, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12458, + "end": 12475, + "name": "LT", + "source": 3 + }, + { + "begin": 12454, + "end": 12557, + "name": "PUSH [tag]", + "source": 3, + "value": "138" + }, + { + "begin": 12454, + "end": 12557, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12504, + "end": 12512, + "name": "PUSH", + "source": 3, + "value": "4EE2D6D415B85ACEF8100000000" + }, + { + "begin": 12495, + "end": 12512, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "PUSH [tag]", + "source": 3, + "value": "139" + }, + { + "begin": 12495, + "end": 12512, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "PUSH [tag]", + "source": 3, + "value": "140" + }, + { + "begin": 12495, + "end": 12512, + "name": "PUSH [tag]", + "source": 3, + "value": "106" + }, + { + "begin": 12495, + "end": 12512, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "tag", + "source": 3, + "value": "140" + }, + { + "begin": 12495, + "end": 12512, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "tag", + "source": 3, + "value": "139" + }, + { + "begin": 12495, + "end": 12512, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "DIV", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12495, + "end": 12512, + "name": "POP", + "source": 3 + }, + { + "begin": 12540, + "end": 12542, + "name": "PUSH", + "source": 3, + "value": "20" + }, + { + "begin": 12530, + "end": 12542, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12530, + "end": 12542, + "name": "ADD", + "source": 3 + }, + { + "begin": 12530, + "end": 12542, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12530, + "end": 12542, + "name": "POP", + "source": 3 + }, + { + "begin": 12454, + "end": 12557, + "name": "tag", + "source": 3, + "value": "138" + }, + { + "begin": 12454, + "end": 12557, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12583, + "end": 12591, + "name": "PUSH", + "source": 3, + "value": "2386F26FC10000" + }, + { + "begin": 12574, + "end": 12579, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12574, + "end": 12591, + "name": "LT", + "source": 3 + }, + { + "begin": 12570, + "end": 12673, + "name": "PUSH [tag]", + "source": 3, + "value": "141" + }, + { + "begin": 12570, + "end": 12673, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12620, + "end": 12628, + "name": "PUSH", + "source": 3, + "value": "2386F26FC10000" + }, + { + "begin": 12611, + "end": 12628, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "PUSH [tag]", + "source": 3, + "value": "142" + }, + { + "begin": 12611, + "end": 12628, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "PUSH [tag]", + "source": 3, + "value": "143" + }, + { + "begin": 12611, + "end": 12628, + "name": "PUSH [tag]", + "source": 3, + "value": "106" + }, + { + "begin": 12611, + "end": 12628, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "tag", + "source": 3, + "value": "143" + }, + { + "begin": 12611, + "end": 12628, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "tag", + "source": 3, + "value": "142" + }, + { + "begin": 12611, + "end": 12628, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "DIV", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12611, + "end": 12628, + "name": "POP", + "source": 3 + }, + { + "begin": 12656, + "end": 12658, + "name": "PUSH", + "source": 3, + "value": "10" + }, + { + "begin": 12646, + "end": 12658, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12646, + "end": 12658, + "name": "ADD", + "source": 3 + }, + { + "begin": 12646, + "end": 12658, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12646, + "end": 12658, + "name": "POP", + "source": 3 + }, + { + "begin": 12570, + "end": 12673, + "name": "tag", + "source": 3, + "value": "141" + }, + { + "begin": 12570, + "end": 12673, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12699, + "end": 12706, + "name": "PUSH", + "source": 3, + "value": "5F5E100" + }, + { + "begin": 12690, + "end": 12695, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12690, + "end": 12706, + "name": "LT", + "source": 3 + }, + { + "begin": 12686, + "end": 12786, + "name": "PUSH [tag]", + "source": 3, + "value": "144" + }, + { + "begin": 12686, + "end": 12786, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12735, + "end": 12742, + "name": "PUSH", + "source": 3, + "value": "5F5E100" + }, + { + "begin": 12726, + "end": 12742, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "PUSH [tag]", + "source": 3, + "value": "145" + }, + { + "begin": 12726, + "end": 12742, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "PUSH [tag]", + "source": 3, + "value": "146" + }, + { + "begin": 12726, + "end": 12742, + "name": "PUSH [tag]", + "source": 3, + "value": "106" + }, + { + "begin": 12726, + "end": 12742, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "tag", + "source": 3, + "value": "146" + }, + { + "begin": 12726, + "end": 12742, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "tag", + "source": 3, + "value": "145" + }, + { + "begin": 12726, + "end": 12742, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "DIV", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12726, + "end": 12742, + "name": "POP", + "source": 3 + }, + { + "begin": 12770, + "end": 12771, + "name": "PUSH", + "source": 3, + "value": "8" + }, + { + "begin": 12760, + "end": 12771, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12760, + "end": 12771, + "name": "ADD", + "source": 3 + }, + { + "begin": 12760, + "end": 12771, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12760, + "end": 12771, + "name": "POP", + "source": 3 + }, + { + "begin": 12686, + "end": 12786, + "name": "tag", + "source": 3, + "value": "144" + }, + { + "begin": 12686, + "end": 12786, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12812, + "end": 12819, + "name": "PUSH", + "source": 3, + "value": "2710" + }, + { + "begin": 12803, + "end": 12808, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12803, + "end": 12819, + "name": "LT", + "source": 3 + }, + { + "begin": 12799, + "end": 12899, + "name": "PUSH [tag]", + "source": 3, + "value": "147" + }, + { + "begin": 12799, + "end": 12899, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12848, + "end": 12855, + "name": "PUSH", + "source": 3, + "value": "2710" + }, + { + "begin": 12839, + "end": 12855, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "PUSH [tag]", + "source": 3, + "value": "148" + }, + { + "begin": 12839, + "end": 12855, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "PUSH [tag]", + "source": 3, + "value": "149" + }, + { + "begin": 12839, + "end": 12855, + "name": "PUSH [tag]", + "source": 3, + "value": "106" + }, + { + "begin": 12839, + "end": 12855, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "tag", + "source": 3, + "value": "149" + }, + { + "begin": 12839, + "end": 12855, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "tag", + "source": 3, + "value": "148" + }, + { + "begin": 12839, + "end": 12855, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "DIV", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12839, + "end": 12855, + "name": "POP", + "source": 3 + }, + { + "begin": 12883, + "end": 12884, + "name": "PUSH", + "source": 3, + "value": "4" + }, + { + "begin": 12873, + "end": 12884, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12873, + "end": 12884, + "name": "ADD", + "source": 3 + }, + { + "begin": 12873, + "end": 12884, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12873, + "end": 12884, + "name": "POP", + "source": 3 + }, + { + "begin": 12799, + "end": 12899, + "name": "tag", + "source": 3, + "value": "147" + }, + { + "begin": 12799, + "end": 12899, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12925, + "end": 12932, + "name": "PUSH", + "source": 3, + "value": "64" + }, + { + "begin": 12916, + "end": 12921, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12916, + "end": 12932, + "name": "LT", + "source": 3 + }, + { + "begin": 12912, + "end": 13012, + "name": "PUSH [tag]", + "source": 3, + "value": "150" + }, + { + "begin": 12912, + "end": 13012, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12961, + "end": 12968, + "name": "PUSH", + "source": 3, + "value": "64" + }, + { + "begin": 12952, + "end": 12968, + "name": "DUP4", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "PUSH [tag]", + "source": 3, + "value": "151" + }, + { + "begin": 12952, + "end": 12968, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "PUSH [tag]", + "source": 3, + "value": "152" + }, + { + "begin": 12952, + "end": 12968, + "name": "PUSH [tag]", + "source": 3, + "value": "106" + }, + { + "begin": 12952, + "end": 12968, + "jumpType": "[in]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "tag", + "source": 3, + "value": "152" + }, + { + "begin": 12952, + "end": 12968, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "tag", + "source": 3, + "value": "151" + }, + { + "begin": 12952, + "end": 12968, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "DIV", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "SWAP3", + "source": 3 + }, + { + "begin": 12952, + "end": 12968, + "name": "POP", + "source": 3 + }, + { + "begin": 12996, + "end": 12997, + "name": "PUSH", + "source": 3, + "value": "2" + }, + { + "begin": 12986, + "end": 12997, + "name": "DUP2", + "source": 3 + }, + { + "begin": 12986, + "end": 12997, + "name": "ADD", + "source": 3 + }, + { + "begin": 12986, + "end": 12997, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12986, + "end": 12997, + "name": "POP", + "source": 3 + }, + { + "begin": 12912, + "end": 13012, + "name": "tag", + "source": 3, + "value": "150" + }, + { + "begin": 12912, + "end": 13012, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 13038, + "end": 13045, + "name": "PUSH", + "source": 3, + "value": "A" + }, + { + "begin": 13029, + "end": 13034, + "name": "DUP4", + "source": 3 + }, + { + "begin": 13029, + "end": 13045, + "name": "LT", + "source": 3 + }, + { + "begin": 13025, + "end": 13091, + "name": "PUSH [tag]", + "source": 3, + "value": "153" + }, + { + "begin": 13025, + "end": 13091, + "name": "JUMPI", + "source": 3 + }, + { + "begin": 13075, + "end": 13076, + "name": "PUSH", + "source": 3, + "value": "1" + }, + { + "begin": 13065, + "end": 13076, + "name": "DUP2", + "source": 3 + }, + { + "begin": 13065, + "end": 13076, + "name": "ADD", + "source": 3 + }, + { + "begin": 13065, + "end": 13076, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 13065, + "end": 13076, + "name": "POP", + "source": 3 + }, + { + "begin": 13025, + "end": 13091, + "name": "tag", + "source": 3, + "value": "153" + }, + { + "begin": 13025, + "end": 13091, + "name": "JUMPDEST", + "source": 3 + }, + { + "begin": 13117, + "end": 13123, + "name": "DUP1", + "source": 3 + }, + { + "begin": 13110, + "end": 13123, + "name": "SWAP2", + "source": 3 + }, + { + "begin": 13110, + "end": 13123, + "name": "POP", + "source": 3 + }, + { + "begin": 13110, + "end": 13123, + "name": "POP", + "source": 3 + }, + { + "begin": 12214, + "end": 13130, + "name": "SWAP2", + "source": 3 + }, + { + "begin": 12214, + "end": 13130, + "name": "SWAP1", + "source": 3 + }, + { + "begin": 12214, + "end": 13130, + "name": "POP", + "source": 3 + }, + { + "begin": 12214, + "end": 13130, + "jumpType": "[out]", + "name": "JUMP", + "source": 3 + }, + { + "begin": 1648, + "end": 2261, + "name": "tag", + "source": 12, + "value": "121" + }, + { + "begin": 1648, + "end": 2261, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1722, + "end": 1729, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 1764, + "end": 1766, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 1749, + "end": 1753, + "name": "DUP3", + "source": 12 + }, + { + "begin": 1749, + "end": 1760, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 1749, + "end": 1766, + "name": "LT", + "source": 12 + }, + { + "begin": 1749, + "end": 1766, + "name": "ISZERO", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "PUSH [tag]", + "source": 12, + "value": "155" + }, + { + "begin": 1741, + "end": 1785, + "name": "JUMPI", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 1741, + "end": 1785, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "PUSH", + "source": 12, + "value": "8C379A000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 1741, + "end": 1785, + "name": "DUP2", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "MSTORE", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "PUSH", + "source": 12, + "value": "4" + }, + { + "begin": 1741, + "end": 1785, + "name": "ADD", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "PUSH [tag]", + "source": 12, + "value": "156" + }, + { + "begin": 1741, + "end": 1785, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "PUSH [tag]", + "source": 12, + "value": "157" + }, + { + "begin": 1741, + "end": 1785, + "jumpType": "[in]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "tag", + "source": 12, + "value": "156" + }, + { + "begin": 1741, + "end": 1785, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "PUSH", + "source": 12, + "value": "40" + }, + { + "begin": 1741, + "end": 1785, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "DUP1", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "SUB", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "REVERT", + "source": 12 + }, + { + "begin": 1741, + "end": 1785, + "name": "tag", + "source": 12, + "value": "155" + }, + { + "begin": 1741, + "end": 1785, + "name": "JUMPDEST", + "source": 12 + }, + { + "begin": 1897, + "end": 1921, + "name": "PUSH", + "source": 12, + "value": "0" + }, + { + "begin": 1990, + "end": 1992, + "name": "PUSH", + "source": 12, + "value": "20" + }, + { + "begin": 1984, + "end": 1988, + "name": "DUP4", + "source": 12 + }, + { + "begin": 1980, + "end": 1993, + "name": "ADD", + "source": 12 + }, + { + "begin": 1974, + "end": 1994, + "name": "MLOAD", + "source": 12 + }, + { + "begin": 1954, + "end": 1994, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1954, + "end": 1994, + "name": "POP", + "source": 12 + }, + { + "begin": 2118, + "end": 2160, + "name": "PUSH", + "source": 12, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 2100, + "end": 2116, + "name": "DUP2", + "source": 12 + }, + { + "begin": 2096, + "end": 2161, + "name": "AND", + "source": 12 + }, + { + "begin": 2076, + "end": 2161, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 2076, + "end": 2161, + "name": "POP", + "source": 12 + }, + { + "begin": 2238, + "end": 2254, + "name": "DUP1", + "source": 12 + }, + { + "begin": 2231, + "end": 2254, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 2231, + "end": 2254, + "name": "POP", + "source": 12 + }, + { + "begin": 2231, + "end": 2254, + "name": "POP", + "source": 12 + }, + { + "begin": 1648, + "end": 2261, + "name": "SWAP2", + "source": 12 + }, + { + "begin": 1648, + "end": 2261, + "name": "SWAP1", + "source": 12 + }, + { + "begin": 1648, + "end": 2261, + "name": "POP", + "source": 12 + }, + { + "begin": 1648, + "end": 2261, + "jumpType": "[out]", + "name": "JUMP", + "source": 12 + }, + { + "begin": 7, + "end": 106, + "name": "tag", + "source": 13, + "value": "158" + }, + { + "begin": 7, + "end": 106, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 59, + "end": 65, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 93, + "end": 98, + "name": "DUP2", + "source": 13 + }, + { + "begin": 87, + "end": 99, + "name": "MLOAD", + "source": 13 + }, + { + "begin": 77, + "end": 99, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 77, + "end": 99, + "name": "POP", + "source": 13 + }, + { + "begin": 7, + "end": 106, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 7, + "end": 106, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 7, + "end": 106, + "name": "POP", + "source": 13 + }, + { + "begin": 7, + "end": 106, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "tag", + "source": 13, + "value": "159" + }, + { + "begin": 112, + "end": 281, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 196, + "end": 207, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 230, + "end": 236, + "name": "DUP3", + "source": 13 + }, + { + "begin": 225, + "end": 228, + "name": "DUP3", + "source": 13 + }, + { + "begin": 218, + "end": 237, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 270, + "end": 274, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 265, + "end": 268, + "name": "DUP3", + "source": 13 + }, + { + "begin": 261, + "end": 275, + "name": "ADD", + "source": 13 + }, + { + "begin": 246, + "end": 275, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 246, + "end": 275, + "name": "POP", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "POP", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "name": "POP", + "source": 13 + }, + { + "begin": 112, + "end": 281, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "name": "tag", + "source": 13, + "value": "160" + }, + { + "begin": 287, + "end": 426, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 376, + "end": 382, + "name": "DUP3", + "source": 13 + }, + { + "begin": 371, + "end": 374, + "name": "DUP2", + "source": 13 + }, + { + "begin": 366, + "end": 369, + "name": "DUP4", + "source": 13 + }, + { + "begin": 360, + "end": 383, + "name": "MCOPY", + "source": 13 + }, + { + "begin": 417, + "end": 418, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 408, + "end": 414, + "name": "DUP4", + "source": 13 + }, + { + "begin": 403, + "end": 406, + "name": "DUP4", + "source": 13 + }, + { + "begin": 399, + "end": 415, + "name": "ADD", + "source": 13 + }, + { + "begin": 392, + "end": 419, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "name": "POP", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "name": "POP", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "name": "POP", + "source": 13 + }, + { + "begin": 287, + "end": 426, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "name": "tag", + "source": 13, + "value": "161" + }, + { + "begin": 432, + "end": 534, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 473, + "end": 479, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 524, + "end": 526, + "name": "PUSH", + "source": 13, + "value": "1F" + }, + { + "begin": 520, + "end": 527, + "name": "NOT", + "source": 13 + }, + { + "begin": 515, + "end": 517, + "name": "PUSH", + "source": 13, + "value": "1F" + }, + { + "begin": 508, + "end": 513, + "name": "DUP4", + "source": 13 + }, + { + "begin": 504, + "end": 518, + "name": "ADD", + "source": 13 + }, + { + "begin": 500, + "end": 528, + "name": "AND", + "source": 13 + }, + { + "begin": 490, + "end": 528, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 490, + "end": 528, + "name": "POP", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "name": "POP", + "source": 13 + }, + { + "begin": 432, + "end": 534, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "tag", + "source": 13, + "value": "162" + }, + { + "begin": 540, + "end": 917, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 628, + "end": 631, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 656, + "end": 695, + "name": "PUSH [tag]", + "source": 13, + "value": "195" + }, + { + "begin": 689, + "end": 694, + "name": "DUP3", + "source": 13 + }, + { + "begin": 656, + "end": 695, + "name": "PUSH [tag]", + "source": 13, + "value": "158" + }, + { + "begin": 656, + "end": 695, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 656, + "end": 695, + "name": "tag", + "source": 13, + "value": "195" + }, + { + "begin": 656, + "end": 695, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 711, + "end": 782, + "name": "PUSH [tag]", + "source": 13, + "value": "196" + }, + { + "begin": 775, + "end": 781, + "name": "DUP2", + "source": 13 + }, + { + "begin": 770, + "end": 773, + "name": "DUP6", + "source": 13 + }, + { + "begin": 711, + "end": 782, + "name": "PUSH [tag]", + "source": 13, + "value": "159" + }, + { + "begin": 711, + "end": 782, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 711, + "end": 782, + "name": "tag", + "source": 13, + "value": "196" + }, + { + "begin": 711, + "end": 782, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 704, + "end": 782, + "name": "SWAP4", + "source": 13 + }, + { + "begin": 704, + "end": 782, + "name": "POP", + "source": 13 + }, + { + "begin": 791, + "end": 856, + "name": "PUSH [tag]", + "source": 13, + "value": "197" + }, + { + "begin": 849, + "end": 855, + "name": "DUP2", + "source": 13 + }, + { + "begin": 844, + "end": 847, + "name": "DUP6", + "source": 13 + }, + { + "begin": 837, + "end": 841, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 830, + "end": 835, + "name": "DUP7", + "source": 13 + }, + { + "begin": 826, + "end": 842, + "name": "ADD", + "source": 13 + }, + { + "begin": 791, + "end": 856, + "name": "PUSH [tag]", + "source": 13, + "value": "160" + }, + { + "begin": 791, + "end": 856, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 791, + "end": 856, + "name": "tag", + "source": 13, + "value": "197" + }, + { + "begin": 791, + "end": 856, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 881, + "end": 910, + "name": "PUSH [tag]", + "source": 13, + "value": "198" + }, + { + "begin": 903, + "end": 909, + "name": "DUP2", + "source": 13 + }, + { + "begin": 881, + "end": 910, + "name": "PUSH [tag]", + "source": 13, + "value": "161" + }, + { + "begin": 881, + "end": 910, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 881, + "end": 910, + "name": "tag", + "source": 13, + "value": "198" + }, + { + "begin": 881, + "end": 910, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 876, + "end": 879, + "name": "DUP5", + "source": 13 + }, + { + "begin": 872, + "end": 911, + "name": "ADD", + "source": 13 + }, + { + "begin": 865, + "end": 911, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 865, + "end": 911, + "name": "POP", + "source": 13 + }, + { + "begin": 632, + "end": 917, + "name": "POP", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "POP", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "name": "POP", + "source": 13 + }, + { + "begin": 540, + "end": 917, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "tag", + "source": 13, + "value": "18" + }, + { + "begin": 923, + "end": 1236, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1036, + "end": 1040, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1074, + "end": 1076, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 1063, + "end": 1072, + "name": "DUP3", + "source": 13 + }, + { + "begin": 1059, + "end": 1077, + "name": "ADD", + "source": 13 + }, + { + "begin": 1051, + "end": 1077, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 1051, + "end": 1077, + "name": "POP", + "source": 13 + }, + { + "begin": 1123, + "end": 1132, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1117, + "end": 1121, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1113, + "end": 1133, + "name": "SUB", + "source": 13 + }, + { + "begin": 1109, + "end": 1110, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1098, + "end": 1107, + "name": "DUP4", + "source": 13 + }, + { + "begin": 1094, + "end": 1111, + "name": "ADD", + "source": 13 + }, + { + "begin": 1087, + "end": 1134, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 1151, + "end": 1229, + "name": "PUSH [tag]", + "source": 13, + "value": "200" + }, + { + "begin": 1224, + "end": 1228, + "name": "DUP2", + "source": 13 + }, + { + "begin": 1215, + "end": 1221, + "name": "DUP5", + "source": 13 + }, + { + "begin": 1151, + "end": 1229, + "name": "PUSH [tag]", + "source": 13, + "value": "162" + }, + { + "begin": 1151, + "end": 1229, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1151, + "end": 1229, + "name": "tag", + "source": 13, + "value": "200" + }, + { + "begin": 1151, + "end": 1229, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1143, + "end": 1229, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 1143, + "end": 1229, + "name": "POP", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "POP", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "name": "POP", + "source": 13 + }, + { + "begin": 923, + "end": 1236, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 1323, + "end": 1440, + "name": "tag", + "source": 13, + "value": "164" + }, + { + "begin": 1323, + "end": 1440, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1432, + "end": 1433, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1429, + "end": 1430, + "name": "DUP1", + "source": 13 + }, + { + "begin": 1422, + "end": 1434, + "name": "REVERT", + "source": 13 + }, + { + "begin": 1446, + "end": 1563, + "name": "tag", + "source": 13, + "value": "165" + }, + { + "begin": 1446, + "end": 1563, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1555, + "end": 1556, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1552, + "end": 1553, + "name": "DUP1", + "source": 13 + }, + { + "begin": 1545, + "end": 1557, + "name": "REVERT", + "source": 13 + }, + { + "begin": 1569, + "end": 1686, + "name": "tag", + "source": 13, + "value": "166" + }, + { + "begin": 1569, + "end": 1686, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1678, + "end": 1679, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1675, + "end": 1676, + "name": "DUP1", + "source": 13 + }, + { + "begin": 1668, + "end": 1680, + "name": "REVERT", + "source": 13 + }, + { + "begin": 1692, + "end": 1809, + "name": "tag", + "source": 13, + "value": "167" + }, + { + "begin": 1692, + "end": 1809, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1801, + "end": 1802, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1798, + "end": 1799, + "name": "DUP1", + "source": 13 + }, + { + "begin": 1791, + "end": 1803, + "name": "REVERT", + "source": 13 + }, + { + "begin": 1815, + "end": 1932, + "name": "tag", + "source": 13, + "value": "168" + }, + { + "begin": 1815, + "end": 1932, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1924, + "end": 1925, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 1921, + "end": 1922, + "name": "DUP1", + "source": 13 + }, + { + "begin": 1914, + "end": 1926, + "name": "REVERT", + "source": 13 + }, + { + "begin": 1966, + "end": 2565, + "name": "tag", + "source": 13, + "value": "169" + }, + { + "begin": 1966, + "end": 2565, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2070, + "end": 2078, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 2080, + "end": 2086, + "name": "DUP1", + "source": 13 + }, + { + "begin": 2130, + "end": 2133, + "name": "DUP4", + "source": 13 + }, + { + "begin": 2123, + "end": 2127, + "name": "PUSH", + "source": 13, + "value": "1F" + }, + { + "begin": 2115, + "end": 2121, + "name": "DUP5", + "source": 13 + }, + { + "begin": 2111, + "end": 2128, + "name": "ADD", + "source": 13 + }, + { + "begin": 2107, + "end": 2134, + "name": "SLT", + "source": 13 + }, + { + "begin": 2097, + "end": 2219, + "name": "PUSH [tag]", + "source": 13, + "value": "208" + }, + { + "begin": 2097, + "end": 2219, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 2138, + "end": 2217, + "name": "PUSH [tag]", + "source": 13, + "value": "209" + }, + { + "begin": 2138, + "end": 2217, + "name": "PUSH [tag]", + "source": 13, + "value": "166" + }, + { + "begin": 2138, + "end": 2217, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2138, + "end": 2217, + "name": "tag", + "source": 13, + "value": "209" + }, + { + "begin": 2138, + "end": 2217, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2097, + "end": 2219, + "name": "tag", + "source": 13, + "value": "208" + }, + { + "begin": 2097, + "end": 2219, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2251, + "end": 2257, + "name": "DUP3", + "source": 13 + }, + { + "begin": 2238, + "end": 2258, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 2228, + "end": 2258, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 2228, + "end": 2258, + "name": "POP", + "source": 13 + }, + { + "begin": 2281, + "end": 2299, + "name": "PUSH", + "source": 13, + "value": "FFFFFFFFFFFFFFFF" + }, + { + "begin": 2273, + "end": 2279, + "name": "DUP2", + "source": 13 + }, + { + "begin": 2270, + "end": 2300, + "name": "GT", + "source": 13 + }, + { + "begin": 2267, + "end": 2384, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 2267, + "end": 2384, + "name": "PUSH [tag]", + "source": 13, + "value": "210" + }, + { + "begin": 2267, + "end": 2384, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 2303, + "end": 2382, + "name": "PUSH [tag]", + "source": 13, + "value": "211" + }, + { + "begin": 2303, + "end": 2382, + "name": "PUSH [tag]", + "source": 13, + "value": "167" + }, + { + "begin": 2303, + "end": 2382, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2303, + "end": 2382, + "name": "tag", + "source": 13, + "value": "211" + }, + { + "begin": 2303, + "end": 2382, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2267, + "end": 2384, + "name": "tag", + "source": 13, + "value": "210" + }, + { + "begin": 2267, + "end": 2384, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2417, + "end": 2421, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 2409, + "end": 2415, + "name": "DUP4", + "source": 13 + }, + { + "begin": 2405, + "end": 2422, + "name": "ADD", + "source": 13 + }, + { + "begin": 2393, + "end": 2422, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 2393, + "end": 2422, + "name": "POP", + "source": 13 + }, + { + "begin": 2471, + "end": 2474, + "name": "DUP4", + "source": 13 + }, + { + "begin": 2463, + "end": 2467, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 2455, + "end": 2461, + "name": "DUP3", + "source": 13 + }, + { + "begin": 2451, + "end": 2468, + "name": "MUL", + "source": 13 + }, + { + "begin": 2441, + "end": 2449, + "name": "DUP4", + "source": 13 + }, + { + "begin": 2437, + "end": 2469, + "name": "ADD", + "source": 13 + }, + { + "begin": 2434, + "end": 2475, + "name": "GT", + "source": 13 + }, + { + "begin": 2431, + "end": 2559, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 2431, + "end": 2559, + "name": "PUSH [tag]", + "source": 13, + "value": "212" + }, + { + "begin": 2431, + "end": 2559, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 2478, + "end": 2557, + "name": "PUSH [tag]", + "source": 13, + "value": "213" + }, + { + "begin": 2478, + "end": 2557, + "name": "PUSH [tag]", + "source": 13, + "value": "168" + }, + { + "begin": 2478, + "end": 2557, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2478, + "end": 2557, + "name": "tag", + "source": 13, + "value": "213" + }, + { + "begin": 2478, + "end": 2557, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2431, + "end": 2559, + "name": "tag", + "source": 13, + "value": "212" + }, + { + "begin": 2431, + "end": 2559, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 1966, + "end": 2565, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 1966, + "end": 2565, + "name": "POP", + "source": 13 + }, + { + "begin": 1966, + "end": 2565, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 1966, + "end": 2565, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 1966, + "end": 2565, + "name": "POP", + "source": 13 + }, + { + "begin": 1966, + "end": 2565, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2588, + "end": 3156, + "name": "tag", + "source": 13, + "value": "170" + }, + { + "begin": 2588, + "end": 3156, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2661, + "end": 2669, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 2671, + "end": 2677, + "name": "DUP1", + "source": 13 + }, + { + "begin": 2721, + "end": 2724, + "name": "DUP4", + "source": 13 + }, + { + "begin": 2714, + "end": 2718, + "name": "PUSH", + "source": 13, + "value": "1F" + }, + { + "begin": 2706, + "end": 2712, + "name": "DUP5", + "source": 13 + }, + { + "begin": 2702, + "end": 2719, + "name": "ADD", + "source": 13 + }, + { + "begin": 2698, + "end": 2725, + "name": "SLT", + "source": 13 + }, + { + "begin": 2688, + "end": 2810, + "name": "PUSH [tag]", + "source": 13, + "value": "215" + }, + { + "begin": 2688, + "end": 2810, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 2729, + "end": 2808, + "name": "PUSH [tag]", + "source": 13, + "value": "216" + }, + { + "begin": 2729, + "end": 2808, + "name": "PUSH [tag]", + "source": 13, + "value": "166" + }, + { + "begin": 2729, + "end": 2808, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2729, + "end": 2808, + "name": "tag", + "source": 13, + "value": "216" + }, + { + "begin": 2729, + "end": 2808, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2688, + "end": 2810, + "name": "tag", + "source": 13, + "value": "215" + }, + { + "begin": 2688, + "end": 2810, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2842, + "end": 2848, + "name": "DUP3", + "source": 13 + }, + { + "begin": 2829, + "end": 2849, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 2819, + "end": 2849, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 2819, + "end": 2849, + "name": "POP", + "source": 13 + }, + { + "begin": 2872, + "end": 2890, + "name": "PUSH", + "source": 13, + "value": "FFFFFFFFFFFFFFFF" + }, + { + "begin": 2864, + "end": 2870, + "name": "DUP2", + "source": 13 + }, + { + "begin": 2861, + "end": 2891, + "name": "GT", + "source": 13 + }, + { + "begin": 2858, + "end": 2975, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 2858, + "end": 2975, + "name": "PUSH [tag]", + "source": 13, + "value": "217" + }, + { + "begin": 2858, + "end": 2975, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 2894, + "end": 2973, + "name": "PUSH [tag]", + "source": 13, + "value": "218" + }, + { + "begin": 2894, + "end": 2973, + "name": "PUSH [tag]", + "source": 13, + "value": "167" + }, + { + "begin": 2894, + "end": 2973, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 2894, + "end": 2973, + "name": "tag", + "source": 13, + "value": "218" + }, + { + "begin": 2894, + "end": 2973, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2858, + "end": 2975, + "name": "tag", + "source": 13, + "value": "217" + }, + { + "begin": 2858, + "end": 2975, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3008, + "end": 3012, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 3000, + "end": 3006, + "name": "DUP4", + "source": 13 + }, + { + "begin": 2996, + "end": 3013, + "name": "ADD", + "source": 13 + }, + { + "begin": 2984, + "end": 3013, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 2984, + "end": 3013, + "name": "POP", + "source": 13 + }, + { + "begin": 3062, + "end": 3065, + "name": "DUP4", + "source": 13 + }, + { + "begin": 3054, + "end": 3058, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 3046, + "end": 3052, + "name": "DUP3", + "source": 13 + }, + { + "begin": 3042, + "end": 3059, + "name": "MUL", + "source": 13 + }, + { + "begin": 3032, + "end": 3040, + "name": "DUP4", + "source": 13 + }, + { + "begin": 3028, + "end": 3060, + "name": "ADD", + "source": 13 + }, + { + "begin": 3025, + "end": 3066, + "name": "GT", + "source": 13 + }, + { + "begin": 3022, + "end": 3150, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 3022, + "end": 3150, + "name": "PUSH [tag]", + "source": 13, + "value": "219" + }, + { + "begin": 3022, + "end": 3150, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 3069, + "end": 3148, + "name": "PUSH [tag]", + "source": 13, + "value": "220" + }, + { + "begin": 3069, + "end": 3148, + "name": "PUSH [tag]", + "source": 13, + "value": "168" + }, + { + "begin": 3069, + "end": 3148, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3069, + "end": 3148, + "name": "tag", + "source": 13, + "value": "220" + }, + { + "begin": 3069, + "end": 3148, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3022, + "end": 3150, + "name": "tag", + "source": 13, + "value": "219" + }, + { + "begin": 3022, + "end": 3150, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 2588, + "end": 3156, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 2588, + "end": 3156, + "name": "POP", + "source": 13 + }, + { + "begin": 2588, + "end": 3156, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 2588, + "end": 3156, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 2588, + "end": 3156, + "name": "POP", + "source": 13 + }, + { + "begin": 2588, + "end": 3156, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "name": "tag", + "source": 13, + "value": "21" + }, + { + "begin": 3162, + "end": 4158, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3315, + "end": 3321, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 3323, + "end": 3329, + "name": "DUP1", + "source": 13 + }, + { + "begin": 3331, + "end": 3337, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 3339, + "end": 3345, + "name": "DUP1", + "source": 13 + }, + { + "begin": 3388, + "end": 3390, + "name": "PUSH", + "source": 13, + "value": "40" + }, + { + "begin": 3376, + "end": 3385, + "name": "DUP6", + "source": 13 + }, + { + "begin": 3367, + "end": 3374, + "name": "DUP8", + "source": 13 + }, + { + "begin": 3363, + "end": 3386, + "name": "SUB", + "source": 13 + }, + { + "begin": 3359, + "end": 3391, + "name": "SLT", + "source": 13 + }, + { + "begin": 3356, + "end": 3475, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 3356, + "end": 3475, + "name": "PUSH [tag]", + "source": 13, + "value": "222" + }, + { + "begin": 3356, + "end": 3475, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 3394, + "end": 3473, + "name": "PUSH [tag]", + "source": 13, + "value": "223" + }, + { + "begin": 3394, + "end": 3473, + "name": "PUSH [tag]", + "source": 13, + "value": "164" + }, + { + "begin": 3394, + "end": 3473, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3394, + "end": 3473, + "name": "tag", + "source": 13, + "value": "223" + }, + { + "begin": 3394, + "end": 3473, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3356, + "end": 3475, + "name": "tag", + "source": 13, + "value": "222" + }, + { + "begin": 3356, + "end": 3475, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3542, + "end": 3543, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 3531, + "end": 3540, + "name": "DUP6", + "source": 13 + }, + { + "begin": 3527, + "end": 3544, + "name": "ADD", + "source": 13 + }, + { + "begin": 3514, + "end": 3545, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 3572, + "end": 3590, + "name": "PUSH", + "source": 13, + "value": "FFFFFFFFFFFFFFFF" + }, + { + "begin": 3564, + "end": 3570, + "name": "DUP2", + "source": 13 + }, + { + "begin": 3561, + "end": 3591, + "name": "GT", + "source": 13 + }, + { + "begin": 3558, + "end": 3675, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 3558, + "end": 3675, + "name": "PUSH [tag]", + "source": 13, + "value": "224" + }, + { + "begin": 3558, + "end": 3675, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 3594, + "end": 3673, + "name": "PUSH [tag]", + "source": 13, + "value": "225" + }, + { + "begin": 3594, + "end": 3673, + "name": "PUSH [tag]", + "source": 13, + "value": "165" + }, + { + "begin": 3594, + "end": 3673, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3594, + "end": 3673, + "name": "tag", + "source": 13, + "value": "225" + }, + { + "begin": 3594, + "end": 3673, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3558, + "end": 3675, + "name": "tag", + "source": 13, + "value": "224" + }, + { + "begin": 3558, + "end": 3675, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3707, + "end": 3818, + "name": "PUSH [tag]", + "source": 13, + "value": "226" + }, + { + "begin": 3810, + "end": 3817, + "name": "DUP8", + "source": 13 + }, + { + "begin": 3801, + "end": 3807, + "name": "DUP3", + "source": 13 + }, + { + "begin": 3790, + "end": 3799, + "name": "DUP9", + "source": 13 + }, + { + "begin": 3786, + "end": 3808, + "name": "ADD", + "source": 13 + }, + { + "begin": 3707, + "end": 3818, + "name": "PUSH [tag]", + "source": 13, + "value": "169" + }, + { + "begin": 3707, + "end": 3818, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3707, + "end": 3818, + "name": "tag", + "source": 13, + "value": "226" + }, + { + "begin": 3707, + "end": 3818, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3689, + "end": 3818, + "name": "SWAP5", + "source": 13 + }, + { + "begin": 3689, + "end": 3818, + "name": "POP", + "source": 13 + }, + { + "begin": 3689, + "end": 3818, + "name": "SWAP5", + "source": 13 + }, + { + "begin": 3689, + "end": 3818, + "name": "POP", + "source": 13 + }, + { + "begin": 3485, + "end": 3828, + "name": "POP", + "source": 13 + }, + { + "begin": 3895, + "end": 3897, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 3884, + "end": 3893, + "name": "DUP6", + "source": 13 + }, + { + "begin": 3880, + "end": 3898, + "name": "ADD", + "source": 13 + }, + { + "begin": 3867, + "end": 3899, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 3926, + "end": 3944, + "name": "PUSH", + "source": 13, + "value": "FFFFFFFFFFFFFFFF" + }, + { + "begin": 3918, + "end": 3924, + "name": "DUP2", + "source": 13 + }, + { + "begin": 3915, + "end": 3945, + "name": "GT", + "source": 13 + }, + { + "begin": 3912, + "end": 4029, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 3912, + "end": 4029, + "name": "PUSH [tag]", + "source": 13, + "value": "227" + }, + { + "begin": 3912, + "end": 4029, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 3948, + "end": 4027, + "name": "PUSH [tag]", + "source": 13, + "value": "228" + }, + { + "begin": 3948, + "end": 4027, + "name": "PUSH [tag]", + "source": 13, + "value": "165" + }, + { + "begin": 3948, + "end": 4027, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 3948, + "end": 4027, + "name": "tag", + "source": 13, + "value": "228" + }, + { + "begin": 3948, + "end": 4027, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 3912, + "end": 4029, + "name": "tag", + "source": 13, + "value": "227" + }, + { + "begin": 3912, + "end": 4029, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4061, + "end": 4141, + "name": "PUSH [tag]", + "source": 13, + "value": "229" + }, + { + "begin": 4133, + "end": 4140, + "name": "DUP8", + "source": 13 + }, + { + "begin": 4124, + "end": 4130, + "name": "DUP3", + "source": 13 + }, + { + "begin": 4113, + "end": 4122, + "name": "DUP9", + "source": 13 + }, + { + "begin": 4109, + "end": 4131, + "name": "ADD", + "source": 13 + }, + { + "begin": 4061, + "end": 4141, + "name": "PUSH [tag]", + "source": 13, + "value": "170" + }, + { + "begin": 4061, + "end": 4141, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4061, + "end": 4141, + "name": "tag", + "source": 13, + "value": "229" + }, + { + "begin": 4061, + "end": 4141, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4043, + "end": 4141, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 4043, + "end": 4141, + "name": "POP", + "source": 13 + }, + { + "begin": 4043, + "end": 4141, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 4043, + "end": 4141, + "name": "POP", + "source": 13 + }, + { + "begin": 3838, + "end": 4151, + "name": "POP", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "name": "SWAP6", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "name": "SWAP5", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "name": "POP", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "name": "POP", + "source": 13 + }, + { + "begin": 3162, + "end": 4158, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4164, + "end": 4254, + "name": "tag", + "source": 13, + "value": "171" + }, + { + "begin": 4164, + "end": 4254, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4198, + "end": 4205, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 4241, + "end": 4246, + "name": "DUP2", + "source": 13 + }, + { + "begin": 4234, + "end": 4247, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 4227, + "end": 4248, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 4216, + "end": 4248, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 4216, + "end": 4248, + "name": "POP", + "source": 13 + }, + { + "begin": 4164, + "end": 4254, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 4164, + "end": 4254, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 4164, + "end": 4254, + "name": "POP", + "source": 13 + }, + { + "begin": 4164, + "end": 4254, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4260, + "end": 4369, + "name": "tag", + "source": 13, + "value": "172" + }, + { + "begin": 4260, + "end": 4369, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4341, + "end": 4362, + "name": "PUSH [tag]", + "source": 13, + "value": "232" + }, + { + "begin": 4356, + "end": 4361, + "name": "DUP2", + "source": 13 + }, + { + "begin": 4341, + "end": 4362, + "name": "PUSH [tag]", + "source": 13, + "value": "171" + }, + { + "begin": 4341, + "end": 4362, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4341, + "end": 4362, + "name": "tag", + "source": 13, + "value": "232" + }, + { + "begin": 4341, + "end": 4362, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4336, + "end": 4339, + "name": "DUP3", + "source": 13 + }, + { + "begin": 4329, + "end": 4363, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 4260, + "end": 4369, + "name": "POP", + "source": 13 + }, + { + "begin": 4260, + "end": 4369, + "name": "POP", + "source": 13 + }, + { + "begin": 4260, + "end": 4369, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4375, + "end": 4585, + "name": "tag", + "source": 13, + "value": "24" + }, + { + "begin": 4375, + "end": 4585, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4462, + "end": 4466, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 4500, + "end": 4502, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 4489, + "end": 4498, + "name": "DUP3", + "source": 13 + }, + { + "begin": 4485, + "end": 4503, + "name": "ADD", + "source": 13 + }, + { + "begin": 4477, + "end": 4503, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 4477, + "end": 4503, + "name": "POP", + "source": 13 + }, + { + "begin": 4513, + "end": 4578, + "name": "PUSH [tag]", + "source": 13, + "value": "234" + }, + { + "begin": 4575, + "end": 4576, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 4564, + "end": 4573, + "name": "DUP4", + "source": 13 + }, + { + "begin": 4560, + "end": 4577, + "name": "ADD", + "source": 13 + }, + { + "begin": 4551, + "end": 4557, + "name": "DUP5", + "source": 13 + }, + { + "begin": 4513, + "end": 4578, + "name": "PUSH [tag]", + "source": 13, + "value": "172" + }, + { + "begin": 4513, + "end": 4578, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4513, + "end": 4578, + "name": "tag", + "source": 13, + "value": "234" + }, + { + "begin": 4513, + "end": 4578, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4375, + "end": 4585, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 4375, + "end": 4585, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 4375, + "end": 4585, + "name": "POP", + "source": 13 + }, + { + "begin": 4375, + "end": 4585, + "name": "POP", + "source": 13 + }, + { + "begin": 4375, + "end": 4585, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4591, + "end": 4708, + "name": "tag", + "source": 13, + "value": "173" + }, + { + "begin": 4591, + "end": 4708, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4700, + "end": 4701, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 4697, + "end": 4698, + "name": "DUP1", + "source": 13 + }, + { + "begin": 4690, + "end": 4702, + "name": "REVERT", + "source": 13 + }, + { + "begin": 4740, + "end": 4976, + "name": "tag", + "source": 13, + "value": "174" + }, + { + "begin": 4740, + "end": 4976, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4817, + "end": 4822, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 4858, + "end": 4861, + "name": "PUSH", + "source": 13, + "value": "140" + }, + { + "begin": 4849, + "end": 4855, + "name": "DUP3", + "source": 13 + }, + { + "begin": 4844, + "end": 4847, + "name": "DUP5", + "source": 13 + }, + { + "begin": 4840, + "end": 4856, + "name": "SUB", + "source": 13 + }, + { + "begin": 4836, + "end": 4862, + "name": "SLT", + "source": 13 + }, + { + "begin": 4833, + "end": 4946, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 4833, + "end": 4946, + "name": "PUSH [tag]", + "source": 13, + "value": "237" + }, + { + "begin": 4833, + "end": 4946, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 4865, + "end": 4944, + "name": "PUSH [tag]", + "source": 13, + "value": "238" + }, + { + "begin": 4865, + "end": 4944, + "name": "PUSH [tag]", + "source": 13, + "value": "173" + }, + { + "begin": 4865, + "end": 4944, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4865, + "end": 4944, + "name": "tag", + "source": 13, + "value": "238" + }, + { + "begin": 4865, + "end": 4944, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4833, + "end": 4946, + "name": "tag", + "source": 13, + "value": "237" + }, + { + "begin": 4833, + "end": 4946, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 4964, + "end": 4970, + "name": "DUP2", + "source": 13 + }, + { + "begin": 4955, + "end": 4970, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 4955, + "end": 4970, + "name": "POP", + "source": 13 + }, + { + "begin": 4740, + "end": 4976, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 4740, + "end": 4976, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 4740, + "end": 4976, + "name": "POP", + "source": 13 + }, + { + "begin": 4740, + "end": 4976, + "name": "POP", + "source": 13 + }, + { + "begin": 4740, + "end": 4976, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 4982, + "end": 5533, + "name": "tag", + "source": 13, + "value": "34" + }, + { + "begin": 4982, + "end": 5533, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5072, + "end": 5078, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 5121, + "end": 5123, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 5109, + "end": 5118, + "name": "DUP3", + "source": 13 + }, + { + "begin": 5100, + "end": 5107, + "name": "DUP5", + "source": 13 + }, + { + "begin": 5096, + "end": 5119, + "name": "SUB", + "source": 13 + }, + { + "begin": 5092, + "end": 5124, + "name": "SLT", + "source": 13 + }, + { + "begin": 5089, + "end": 5208, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 5089, + "end": 5208, + "name": "PUSH [tag]", + "source": 13, + "value": "240" + }, + { + "begin": 5089, + "end": 5208, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 5127, + "end": 5206, + "name": "PUSH [tag]", + "source": 13, + "value": "241" + }, + { + "begin": 5127, + "end": 5206, + "name": "PUSH [tag]", + "source": 13, + "value": "164" + }, + { + "begin": 5127, + "end": 5206, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 5127, + "end": 5206, + "name": "tag", + "source": 13, + "value": "241" + }, + { + "begin": 5127, + "end": 5206, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5089, + "end": 5208, + "name": "tag", + "source": 13, + "value": "240" + }, + { + "begin": 5089, + "end": 5208, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5275, + "end": 5276, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 5264, + "end": 5273, + "name": "DUP3", + "source": 13 + }, + { + "begin": 5260, + "end": 5277, + "name": "ADD", + "source": 13 + }, + { + "begin": 5247, + "end": 5278, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 5305, + "end": 5323, + "name": "PUSH", + "source": 13, + "value": "FFFFFFFFFFFFFFFF" + }, + { + "begin": 5297, + "end": 5303, + "name": "DUP2", + "source": 13 + }, + { + "begin": 5294, + "end": 5324, + "name": "GT", + "source": 13 + }, + { + "begin": 5291, + "end": 5408, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 5291, + "end": 5408, + "name": "PUSH [tag]", + "source": 13, + "value": "242" + }, + { + "begin": 5291, + "end": 5408, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 5327, + "end": 5406, + "name": "PUSH [tag]", + "source": 13, + "value": "243" + }, + { + "begin": 5327, + "end": 5406, + "name": "PUSH [tag]", + "source": 13, + "value": "165" + }, + { + "begin": 5327, + "end": 5406, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 5327, + "end": 5406, + "name": "tag", + "source": 13, + "value": "243" + }, + { + "begin": 5327, + "end": 5406, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5291, + "end": 5408, + "name": "tag", + "source": 13, + "value": "242" + }, + { + "begin": 5291, + "end": 5408, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5432, + "end": 5516, + "name": "PUSH [tag]", + "source": 13, + "value": "244" + }, + { + "begin": 5508, + "end": 5515, + "name": "DUP5", + "source": 13 + }, + { + "begin": 5499, + "end": 5505, + "name": "DUP3", + "source": 13 + }, + { + "begin": 5488, + "end": 5497, + "name": "DUP6", + "source": 13 + }, + { + "begin": 5484, + "end": 5506, + "name": "ADD", + "source": 13 + }, + { + "begin": 5432, + "end": 5516, + "name": "PUSH [tag]", + "source": 13, + "value": "174" + }, + { + "begin": 5432, + "end": 5516, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 5432, + "end": 5516, + "name": "tag", + "source": 13, + "value": "244" + }, + { + "begin": 5432, + "end": 5516, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5422, + "end": 5516, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 5422, + "end": 5516, + "name": "POP", + "source": 13 + }, + { + "begin": 5218, + "end": 5526, + "name": "POP", + "source": 13 + }, + { + "begin": 4982, + "end": 5533, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 4982, + "end": 5533, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 4982, + "end": 5533, + "name": "POP", + "source": 13 + }, + { + "begin": 4982, + "end": 5533, + "name": "POP", + "source": 13 + }, + { + "begin": 4982, + "end": 5533, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 5539, + "end": 5687, + "name": "tag", + "source": 13, + "value": "175" + }, + { + "begin": 5539, + "end": 5687, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5641, + "end": 5652, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 5678, + "end": 5681, + "name": "DUP2", + "source": 13 + }, + { + "begin": 5663, + "end": 5681, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 5663, + "end": 5681, + "name": "POP", + "source": 13 + }, + { + "begin": 5539, + "end": 5687, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 5539, + "end": 5687, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 5539, + "end": 5687, + "name": "POP", + "source": 13 + }, + { + "begin": 5539, + "end": 5687, + "name": "POP", + "source": 13 + }, + { + "begin": 5539, + "end": 5687, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 5693, + "end": 6083, + "name": "tag", + "source": 13, + "value": "176" + }, + { + "begin": 5693, + "end": 6083, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5799, + "end": 5802, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 5827, + "end": 5866, + "name": "PUSH [tag]", + "source": 13, + "value": "247" + }, + { + "begin": 5860, + "end": 5865, + "name": "DUP3", + "source": 13 + }, + { + "begin": 5827, + "end": 5866, + "name": "PUSH [tag]", + "source": 13, + "value": "158" + }, + { + "begin": 5827, + "end": 5866, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 5827, + "end": 5866, + "name": "tag", + "source": 13, + "value": "247" + }, + { + "begin": 5827, + "end": 5866, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5882, + "end": 5971, + "name": "PUSH [tag]", + "source": 13, + "value": "248" + }, + { + "begin": 5964, + "end": 5970, + "name": "DUP2", + "source": 13 + }, + { + "begin": 5959, + "end": 5962, + "name": "DUP6", + "source": 13 + }, + { + "begin": 5882, + "end": 5971, + "name": "PUSH [tag]", + "source": 13, + "value": "175" + }, + { + "begin": 5882, + "end": 5971, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 5882, + "end": 5971, + "name": "tag", + "source": 13, + "value": "248" + }, + { + "begin": 5882, + "end": 5971, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 5875, + "end": 5971, + "name": "SWAP4", + "source": 13 + }, + { + "begin": 5875, + "end": 5971, + "name": "POP", + "source": 13 + }, + { + "begin": 5980, + "end": 6045, + "name": "PUSH [tag]", + "source": 13, + "value": "249" + }, + { + "begin": 6038, + "end": 6044, + "name": "DUP2", + "source": 13 + }, + { + "begin": 6033, + "end": 6036, + "name": "DUP6", + "source": 13 + }, + { + "begin": 6026, + "end": 6030, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 6019, + "end": 6024, + "name": "DUP7", + "source": 13 + }, + { + "begin": 6015, + "end": 6031, + "name": "ADD", + "source": 13 + }, + { + "begin": 5980, + "end": 6045, + "name": "PUSH [tag]", + "source": 13, + "value": "160" + }, + { + "begin": 5980, + "end": 6045, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 5980, + "end": 6045, + "name": "tag", + "source": 13, + "value": "249" + }, + { + "begin": 5980, + "end": 6045, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 6070, + "end": 6076, + "name": "DUP1", + "source": 13 + }, + { + "begin": 6065, + "end": 6068, + "name": "DUP5", + "source": 13 + }, + { + "begin": 6061, + "end": 6077, + "name": "ADD", + "source": 13 + }, + { + "begin": 6054, + "end": 6077, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 6054, + "end": 6077, + "name": "POP", + "source": 13 + }, + { + "begin": 5803, + "end": 6083, + "name": "POP", + "source": 13 + }, + { + "begin": 5693, + "end": 6083, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 5693, + "end": 6083, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 5693, + "end": 6083, + "name": "POP", + "source": 13 + }, + { + "begin": 5693, + "end": 6083, + "name": "POP", + "source": 13 + }, + { + "begin": 5693, + "end": 6083, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 6089, + "end": 6240, + "name": "tag", + "source": 13, + "value": "177" + }, + { + "begin": 6089, + "end": 6240, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 6229, + "end": 6232, + "name": "PUSH", + "source": 13, + "value": "2E00000000000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 6225, + "end": 6226, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 6217, + "end": 6223, + "name": "DUP3", + "source": 13 + }, + { + "begin": 6213, + "end": 6227, + "name": "ADD", + "source": 13 + }, + { + "begin": 6206, + "end": 6233, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 6089, + "end": 6240, + "name": "POP", + "source": 13 + }, + { + "begin": 6089, + "end": 6240, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 6246, + "end": 6646, + "name": "tag", + "source": 13, + "value": "178" + }, + { + "begin": 6246, + "end": 6646, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 6406, + "end": 6409, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 6427, + "end": 6511, + "name": "PUSH [tag]", + "source": 13, + "value": "252" + }, + { + "begin": 6509, + "end": 6510, + "name": "PUSH", + "source": 13, + "value": "1" + }, + { + "begin": 6504, + "end": 6507, + "name": "DUP4", + "source": 13 + }, + { + "begin": 6427, + "end": 6511, + "name": "PUSH [tag]", + "source": 13, + "value": "175" + }, + { + "begin": 6427, + "end": 6511, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 6427, + "end": 6511, + "name": "tag", + "source": 13, + "value": "252" + }, + { + "begin": 6427, + "end": 6511, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 6420, + "end": 6511, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 6420, + "end": 6511, + "name": "POP", + "source": 13 + }, + { + "begin": 6520, + "end": 6613, + "name": "PUSH [tag]", + "source": 13, + "value": "253" + }, + { + "begin": 6609, + "end": 6612, + "name": "DUP3", + "source": 13 + }, + { + "begin": 6520, + "end": 6613, + "name": "PUSH [tag]", + "source": 13, + "value": "177" + }, + { + "begin": 6520, + "end": 6613, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 6520, + "end": 6613, + "name": "tag", + "source": 13, + "value": "253" + }, + { + "begin": 6520, + "end": 6613, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 6638, + "end": 6639, + "name": "PUSH", + "source": 13, + "value": "1" + }, + { + "begin": 6633, + "end": 6636, + "name": "DUP3", + "source": 13 + }, + { + "begin": 6629, + "end": 6640, + "name": "ADD", + "source": 13 + }, + { + "begin": 6622, + "end": 6640, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 6622, + "end": 6640, + "name": "POP", + "source": 13 + }, + { + "begin": 6246, + "end": 6646, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 6246, + "end": 6646, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 6246, + "end": 6646, + "name": "POP", + "source": 13 + }, + { + "begin": 6246, + "end": 6646, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 6652, + "end": 7779, + "name": "tag", + "source": 13, + "value": "48" + }, + { + "begin": 6652, + "end": 7779, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 7082, + "end": 7085, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 7104, + "end": 7199, + "name": "PUSH [tag]", + "source": 13, + "value": "255" + }, + { + "begin": 7195, + "end": 7198, + "name": "DUP3", + "source": 13 + }, + { + "begin": 7186, + "end": 7192, + "name": "DUP7", + "source": 13 + }, + { + "begin": 7104, + "end": 7199, + "name": "PUSH [tag]", + "source": 13, + "value": "176" + }, + { + "begin": 7104, + "end": 7199, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 7104, + "end": 7199, + "name": "tag", + "source": 13, + "value": "255" + }, + { + "begin": 7104, + "end": 7199, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 7097, + "end": 7199, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 7097, + "end": 7199, + "name": "POP", + "source": 13 + }, + { + "begin": 7216, + "end": 7364, + "name": "PUSH [tag]", + "source": 13, + "value": "256" + }, + { + "begin": 7360, + "end": 7363, + "name": "DUP3", + "source": 13 + }, + { + "begin": 7216, + "end": 7364, + "name": "PUSH [tag]", + "source": 13, + "value": "178" + }, + { + "begin": 7216, + "end": 7364, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 7216, + "end": 7364, + "name": "tag", + "source": 13, + "value": "256" + }, + { + "begin": 7216, + "end": 7364, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 7209, + "end": 7364, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 7209, + "end": 7364, + "name": "POP", + "source": 13 + }, + { + "begin": 7381, + "end": 7476, + "name": "PUSH [tag]", + "source": 13, + "value": "257" + }, + { + "begin": 7472, + "end": 7475, + "name": "DUP3", + "source": 13 + }, + { + "begin": 7463, + "end": 7469, + "name": "DUP6", + "source": 13 + }, + { + "begin": 7381, + "end": 7476, + "name": "PUSH [tag]", + "source": 13, + "value": "176" + }, + { + "begin": 7381, + "end": 7476, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 7381, + "end": 7476, + "name": "tag", + "source": 13, + "value": "257" + }, + { + "begin": 7381, + "end": 7476, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 7374, + "end": 7476, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 7374, + "end": 7476, + "name": "POP", + "source": 13 + }, + { + "begin": 7493, + "end": 7641, + "name": "PUSH [tag]", + "source": 13, + "value": "258" + }, + { + "begin": 7637, + "end": 7640, + "name": "DUP3", + "source": 13 + }, + { + "begin": 7493, + "end": 7641, + "name": "PUSH [tag]", + "source": 13, + "value": "178" + }, + { + "begin": 7493, + "end": 7641, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 7493, + "end": 7641, + "name": "tag", + "source": 13, + "value": "258" + }, + { + "begin": 7493, + "end": 7641, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 7486, + "end": 7641, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 7486, + "end": 7641, + "name": "POP", + "source": 13 + }, + { + "begin": 7658, + "end": 7753, + "name": "PUSH [tag]", + "source": 13, + "value": "259" + }, + { + "begin": 7749, + "end": 7752, + "name": "DUP3", + "source": 13 + }, + { + "begin": 7740, + "end": 7746, + "name": "DUP5", + "source": 13 + }, + { + "begin": 7658, + "end": 7753, + "name": "PUSH [tag]", + "source": 13, + "value": "176" + }, + { + "begin": 7658, + "end": 7753, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 7658, + "end": 7753, + "name": "tag", + "source": 13, + "value": "259" + }, + { + "begin": 7658, + "end": 7753, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 7651, + "end": 7753, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 7651, + "end": 7753, + "name": "POP", + "source": 13 + }, + { + "begin": 7770, + "end": 7773, + "name": "DUP2", + "source": 13 + }, + { + "begin": 7763, + "end": 7773, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 7763, + "end": 7773, + "name": "POP", + "source": 13 + }, + { + "begin": 6652, + "end": 7779, + "name": "SWAP5", + "source": 13 + }, + { + "begin": 6652, + "end": 7779, + "name": "SWAP4", + "source": 13 + }, + { + "begin": 6652, + "end": 7779, + "name": "POP", + "source": 13 + }, + { + "begin": 6652, + "end": 7779, + "name": "POP", + "source": 13 + }, + { + "begin": 6652, + "end": 7779, + "name": "POP", + "source": 13 + }, + { + "begin": 6652, + "end": 7779, + "name": "POP", + "source": 13 + }, + { + "begin": 6652, + "end": 7779, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 7785, + "end": 7965, + "name": "tag", + "source": 13, + "value": "59" + }, + { + "begin": 7785, + "end": 7965, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 7833, + "end": 7910, + "name": "PUSH", + "source": 13, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 7830, + "end": 7831, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 7823, + "end": 7911, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 7930, + "end": 7934, + "name": "PUSH", + "source": 13, + "value": "32" + }, + { + "begin": 7927, + "end": 7928, + "name": "PUSH", + "source": 13, + "value": "4" + }, + { + "begin": 7920, + "end": 7935, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 7954, + "end": 7958, + "name": "PUSH", + "source": 13, + "value": "24" + }, + { + "begin": 7951, + "end": 7952, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 7944, + "end": 7959, + "name": "REVERT", + "source": 13 + }, + { + "begin": 7971, + "end": 8088, + "name": "tag", + "source": 13, + "value": "179" + }, + { + "begin": 7971, + "end": 8088, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 8080, + "end": 8081, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 8077, + "end": 8078, + "name": "DUP1", + "source": 13 + }, + { + "begin": 8070, + "end": 8082, + "name": "REVERT", + "source": 13 + }, + { + "begin": 8094, + "end": 8211, + "name": "tag", + "source": 13, + "value": "180" + }, + { + "begin": 8094, + "end": 8211, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 8203, + "end": 8204, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 8200, + "end": 8201, + "name": "DUP1", + "source": 13 + }, + { + "begin": 8193, + "end": 8205, + "name": "REVERT", + "source": 13 + }, + { + "begin": 8217, + "end": 8334, + "name": "tag", + "source": 13, + "value": "181" + }, + { + "begin": 8217, + "end": 8334, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 8326, + "end": 8327, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 8323, + "end": 8324, + "name": "DUP1", + "source": 13 + }, + { + "begin": 8316, + "end": 8328, + "name": "REVERT", + "source": 13 + }, + { + "begin": 8340, + "end": 8739, + "name": "tag", + "source": 13, + "value": "65" + }, + { + "begin": 8340, + "end": 8739, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 8437, + "end": 8441, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 8491, + "end": 8502, + "name": "DUP3", + "source": 13 + }, + { + "begin": 8478, + "end": 8503, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 8593, + "end": 8594, + "name": "PUSH", + "source": 13, + "value": "1" + }, + { + "begin": 8585, + "end": 8591, + "name": "PUSH", + "source": 13, + "value": "140" + }, + { + "begin": 8581, + "end": 8595, + "name": "SUB", + "source": 13 + }, + { + "begin": 8570, + "end": 8578, + "name": "DUP4", + "source": 13 + }, + { + "begin": 8554, + "end": 8568, + "name": "CALLDATASIZE", + "source": 13 + }, + { + "begin": 8550, + "end": 8579, + "name": "SUB", + "source": 13 + }, + { + "begin": 8546, + "end": 8596, + "name": "SUB", + "source": 13 + }, + { + "begin": 8526, + "end": 8544, + "name": "DUP2", + "source": 13 + }, + { + "begin": 8522, + "end": 8597, + "name": "SLT", + "source": 13 + }, + { + "begin": 8512, + "end": 8682, + "name": "PUSH [tag]", + "source": 13, + "value": "265" + }, + { + "begin": 8512, + "end": 8682, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 8601, + "end": 8680, + "name": "PUSH [tag]", + "source": 13, + "value": "266" + }, + { + "begin": 8601, + "end": 8680, + "name": "PUSH [tag]", + "source": 13, + "value": "179" + }, + { + "begin": 8601, + "end": 8680, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 8601, + "end": 8680, + "name": "tag", + "source": 13, + "value": "266" + }, + { + "begin": 8601, + "end": 8680, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 8512, + "end": 8682, + "name": "tag", + "source": 13, + "value": "265" + }, + { + "begin": 8512, + "end": 8682, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 8713, + "end": 8731, + "name": "DUP1", + "source": 13 + }, + { + "begin": 8703, + "end": 8711, + "name": "DUP4", + "source": 13 + }, + { + "begin": 8699, + "end": 8732, + "name": "ADD", + "source": 13 + }, + { + "begin": 8691, + "end": 8732, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 8691, + "end": 8732, + "name": "POP", + "source": 13 + }, + { + "begin": 8442, + "end": 8739, + "name": "POP", + "source": 13 + }, + { + "begin": 8340, + "end": 8739, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 8340, + "end": 8739, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 8340, + "end": 8739, + "name": "POP", + "source": 13 + }, + { + "begin": 8340, + "end": 8739, + "name": "POP", + "source": 13 + }, + { + "begin": 8340, + "end": 8739, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 8745, + "end": 8925, + "name": "tag", + "source": 13, + "value": "100" + }, + { + "begin": 8745, + "end": 8925, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 8793, + "end": 8870, + "name": "PUSH", + "source": 13, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 8790, + "end": 8791, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 8783, + "end": 8871, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 8890, + "end": 8894, + "name": "PUSH", + "source": 13, + "value": "41" + }, + { + "begin": 8887, + "end": 8888, + "name": "PUSH", + "source": 13, + "value": "4" + }, + { + "begin": 8880, + "end": 8895, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 8914, + "end": 8918, + "name": "PUSH", + "source": 13, + "value": "24" + }, + { + "begin": 8911, + "end": 8912, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 8904, + "end": 8919, + "name": "REVERT", + "source": 13 + }, + { + "begin": 8931, + "end": 9111, + "name": "tag", + "source": 13, + "value": "106" + }, + { + "begin": 8931, + "end": 9111, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 8979, + "end": 9056, + "name": "PUSH", + "source": 13, + "value": "4E487B7100000000000000000000000000000000000000000000000000000000" + }, + { + "begin": 8976, + "end": 8977, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 8969, + "end": 9057, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 9076, + "end": 9080, + "name": "PUSH", + "source": 13, + "value": "12" + }, + { + "begin": 9073, + "end": 9074, + "name": "PUSH", + "source": 13, + "value": "4" + }, + { + "begin": 9066, + "end": 9081, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 9100, + "end": 9104, + "name": "PUSH", + "source": 13, + "value": "24" + }, + { + "begin": 9097, + "end": 9098, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 9090, + "end": 9105, + "name": "REVERT", + "source": 13 + }, + { + "begin": 9117, + "end": 9243, + "name": "tag", + "source": 13, + "value": "182" + }, + { + "begin": 9117, + "end": 9243, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9154, + "end": 9161, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 9194, + "end": 9236, + "name": "PUSH", + "source": 13, + "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + { + "begin": 9187, + "end": 9192, + "name": "DUP3", + "source": 13 + }, + { + "begin": 9183, + "end": 9237, + "name": "AND", + "source": 13 + }, + { + "begin": 9172, + "end": 9237, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 9172, + "end": 9237, + "name": "POP", + "source": 13 + }, + { + "begin": 9117, + "end": 9243, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 9117, + "end": 9243, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 9117, + "end": 9243, + "name": "POP", + "source": 13 + }, + { + "begin": 9117, + "end": 9243, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9249, + "end": 9345, + "name": "tag", + "source": 13, + "value": "183" + }, + { + "begin": 9249, + "end": 9345, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9286, + "end": 9293, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 9315, + "end": 9339, + "name": "PUSH [tag]", + "source": 13, + "value": "271" + }, + { + "begin": 9333, + "end": 9338, + "name": "DUP3", + "source": 13 + }, + { + "begin": 9315, + "end": 9339, + "name": "PUSH [tag]", + "source": 13, + "value": "182" + }, + { + "begin": 9315, + "end": 9339, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9315, + "end": 9339, + "name": "tag", + "source": 13, + "value": "271" + }, + { + "begin": 9315, + "end": 9339, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9304, + "end": 9339, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 9304, + "end": 9339, + "name": "POP", + "source": 13 + }, + { + "begin": 9249, + "end": 9345, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 9249, + "end": 9345, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 9249, + "end": 9345, + "name": "POP", + "source": 13 + }, + { + "begin": 9249, + "end": 9345, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9351, + "end": 9473, + "name": "tag", + "source": 13, + "value": "184" + }, + { + "begin": 9351, + "end": 9473, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9424, + "end": 9448, + "name": "PUSH [tag]", + "source": 13, + "value": "273" + }, + { + "begin": 9442, + "end": 9447, + "name": "DUP2", + "source": 13 + }, + { + "begin": 9424, + "end": 9448, + "name": "PUSH [tag]", + "source": 13, + "value": "183" + }, + { + "begin": 9424, + "end": 9448, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9424, + "end": 9448, + "name": "tag", + "source": 13, + "value": "273" + }, + { + "begin": 9424, + "end": 9448, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9417, + "end": 9422, + "name": "DUP2", + "source": 13 + }, + { + "begin": 9414, + "end": 9449, + "name": "EQ", + "source": 13 + }, + { + "begin": 9404, + "end": 9467, + "name": "PUSH [tag]", + "source": 13, + "value": "274" + }, + { + "begin": 9404, + "end": 9467, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 9463, + "end": 9464, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 9460, + "end": 9461, + "name": "DUP1", + "source": 13 + }, + { + "begin": 9453, + "end": 9465, + "name": "REVERT", + "source": 13 + }, + { + "begin": 9404, + "end": 9467, + "name": "tag", + "source": 13, + "value": "274" + }, + { + "begin": 9404, + "end": 9467, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9351, + "end": 9473, + "name": "POP", + "source": 13 + }, + { + "begin": 9351, + "end": 9473, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9479, + "end": 9618, + "name": "tag", + "source": 13, + "value": "185" + }, + { + "begin": 9479, + "end": 9618, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9525, + "end": 9530, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 9563, + "end": 9569, + "name": "DUP2", + "source": 13 + }, + { + "begin": 9550, + "end": 9570, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 9541, + "end": 9570, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 9541, + "end": 9570, + "name": "POP", + "source": 13 + }, + { + "begin": 9579, + "end": 9612, + "name": "PUSH [tag]", + "source": 13, + "value": "276" + }, + { + "begin": 9606, + "end": 9611, + "name": "DUP2", + "source": 13 + }, + { + "begin": 9579, + "end": 9612, + "name": "PUSH [tag]", + "source": 13, + "value": "184" + }, + { + "begin": 9579, + "end": 9612, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9579, + "end": 9612, + "name": "tag", + "source": 13, + "value": "276" + }, + { + "begin": 9579, + "end": 9612, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9479, + "end": 9618, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 9479, + "end": 9618, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 9479, + "end": 9618, + "name": "POP", + "source": 13 + }, + { + "begin": 9479, + "end": 9618, + "name": "POP", + "source": 13 + }, + { + "begin": 9479, + "end": 9618, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9624, + "end": 9953, + "name": "tag", + "source": 13, + "value": "114" + }, + { + "begin": 9624, + "end": 9953, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9683, + "end": 9689, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 9732, + "end": 9734, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 9720, + "end": 9729, + "name": "DUP3", + "source": 13 + }, + { + "begin": 9711, + "end": 9718, + "name": "DUP5", + "source": 13 + }, + { + "begin": 9707, + "end": 9730, + "name": "SUB", + "source": 13 + }, + { + "begin": 9703, + "end": 9735, + "name": "SLT", + "source": 13 + }, + { + "begin": 9700, + "end": 9819, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 9700, + "end": 9819, + "name": "PUSH [tag]", + "source": 13, + "value": "278" + }, + { + "begin": 9700, + "end": 9819, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 9738, + "end": 9817, + "name": "PUSH [tag]", + "source": 13, + "value": "279" + }, + { + "begin": 9738, + "end": 9817, + "name": "PUSH [tag]", + "source": 13, + "value": "164" + }, + { + "begin": 9738, + "end": 9817, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9738, + "end": 9817, + "name": "tag", + "source": 13, + "value": "279" + }, + { + "begin": 9738, + "end": 9817, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9700, + "end": 9819, + "name": "tag", + "source": 13, + "value": "278" + }, + { + "begin": 9700, + "end": 9819, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9858, + "end": 9859, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 9883, + "end": 9936, + "name": "PUSH [tag]", + "source": 13, + "value": "280" + }, + { + "begin": 9928, + "end": 9935, + "name": "DUP5", + "source": 13 + }, + { + "begin": 9919, + "end": 9925, + "name": "DUP3", + "source": 13 + }, + { + "begin": 9908, + "end": 9917, + "name": "DUP6", + "source": 13 + }, + { + "begin": 9904, + "end": 9926, + "name": "ADD", + "source": 13 + }, + { + "begin": 9883, + "end": 9936, + "name": "PUSH [tag]", + "source": 13, + "value": "185" + }, + { + "begin": 9883, + "end": 9936, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9883, + "end": 9936, + "name": "tag", + "source": 13, + "value": "280" + }, + { + "begin": 9883, + "end": 9936, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 9873, + "end": 9936, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 9873, + "end": 9936, + "name": "POP", + "source": 13 + }, + { + "begin": 9829, + "end": 9946, + "name": "POP", + "source": 13 + }, + { + "begin": 9624, + "end": 9953, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 9624, + "end": 9953, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 9624, + "end": 9953, + "name": "POP", + "source": 13 + }, + { + "begin": 9624, + "end": 9953, + "name": "POP", + "source": 13 + }, + { + "begin": 9624, + "end": 9953, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 9959, + "end": 10683, + "name": "tag", + "source": 13, + "value": "120" + }, + { + "begin": 9959, + "end": 10683, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10036, + "end": 10040, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 10042, + "end": 10048, + "name": "DUP1", + "source": 13 + }, + { + "begin": 10098, + "end": 10109, + "name": "DUP4", + "source": 13 + }, + { + "begin": 10085, + "end": 10110, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 10198, + "end": 10199, + "name": "PUSH", + "source": 13, + "value": "1" + }, + { + "begin": 10192, + "end": 10196, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 10188, + "end": 10200, + "name": "SUB", + "source": 13 + }, + { + "begin": 10177, + "end": 10185, + "name": "DUP5", + "source": 13 + }, + { + "begin": 10161, + "end": 10175, + "name": "CALLDATASIZE", + "source": 13 + }, + { + "begin": 10157, + "end": 10186, + "name": "SUB", + "source": 13 + }, + { + "begin": 10153, + "end": 10201, + "name": "SUB", + "source": 13 + }, + { + "begin": 10133, + "end": 10151, + "name": "DUP2", + "source": 13 + }, + { + "begin": 10129, + "end": 10202, + "name": "SLT", + "source": 13 + }, + { + "begin": 10119, + "end": 10287, + "name": "PUSH [tag]", + "source": 13, + "value": "282" + }, + { + "begin": 10119, + "end": 10287, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 10206, + "end": 10285, + "name": "PUSH [tag]", + "source": 13, + "value": "283" + }, + { + "begin": 10206, + "end": 10285, + "name": "PUSH [tag]", + "source": 13, + "value": "179" + }, + { + "begin": 10206, + "end": 10285, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 10206, + "end": 10285, + "name": "tag", + "source": 13, + "value": "283" + }, + { + "begin": 10206, + "end": 10285, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10119, + "end": 10287, + "name": "tag", + "source": 13, + "value": "282" + }, + { + "begin": 10119, + "end": 10287, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10318, + "end": 10336, + "name": "DUP1", + "source": 13 + }, + { + "begin": 10308, + "end": 10316, + "name": "DUP5", + "source": 13 + }, + { + "begin": 10304, + "end": 10337, + "name": "ADD", + "source": 13 + }, + { + "begin": 10296, + "end": 10337, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 10296, + "end": 10337, + "name": "POP", + "source": 13 + }, + { + "begin": 10370, + "end": 10374, + "name": "DUP3", + "source": 13 + }, + { + "begin": 10357, + "end": 10375, + "name": "CALLDATALOAD", + "source": 13 + }, + { + "begin": 10347, + "end": 10375, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 10347, + "end": 10375, + "name": "POP", + "source": 13 + }, + { + "begin": 10398, + "end": 10416, + "name": "PUSH", + "source": 13, + "value": "FFFFFFFFFFFFFFFF" + }, + { + "begin": 10390, + "end": 10396, + "name": "DUP3", + "source": 13 + }, + { + "begin": 10387, + "end": 10417, + "name": "GT", + "source": 13 + }, + { + "begin": 10384, + "end": 10501, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 10384, + "end": 10501, + "name": "PUSH [tag]", + "source": 13, + "value": "284" + }, + { + "begin": 10384, + "end": 10501, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 10420, + "end": 10499, + "name": "PUSH [tag]", + "source": 13, + "value": "285" + }, + { + "begin": 10420, + "end": 10499, + "name": "PUSH [tag]", + "source": 13, + "value": "180" + }, + { + "begin": 10420, + "end": 10499, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 10420, + "end": 10499, + "name": "tag", + "source": 13, + "value": "285" + }, + { + "begin": 10420, + "end": 10499, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10384, + "end": 10501, + "name": "tag", + "source": 13, + "value": "284" + }, + { + "begin": 10384, + "end": 10501, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10528, + "end": 10530, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 10522, + "end": 10526, + "name": "DUP4", + "source": 13 + }, + { + "begin": 10518, + "end": 10531, + "name": "ADD", + "source": 13 + }, + { + "begin": 10510, + "end": 10531, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 10510, + "end": 10531, + "name": "POP", + "source": 13 + }, + { + "begin": 10585, + "end": 10589, + "name": "PUSH", + "source": 13, + "value": "1" + }, + { + "begin": 10577, + "end": 10583, + "name": "DUP3", + "source": 13 + }, + { + "begin": 10573, + "end": 10590, + "name": "MUL", + "source": 13 + }, + { + "begin": 10557, + "end": 10571, + "name": "CALLDATASIZE", + "source": 13 + }, + { + "begin": 10553, + "end": 10591, + "name": "SUB", + "source": 13 + }, + { + "begin": 10547, + "end": 10551, + "name": "DUP4", + "source": 13 + }, + { + "begin": 10543, + "end": 10592, + "name": "SGT", + "source": 13 + }, + { + "begin": 10540, + "end": 10676, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 10540, + "end": 10676, + "name": "PUSH [tag]", + "source": 13, + "value": "286" + }, + { + "begin": 10540, + "end": 10676, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 10595, + "end": 10674, + "name": "PUSH [tag]", + "source": 13, + "value": "287" + }, + { + "begin": 10595, + "end": 10674, + "name": "PUSH [tag]", + "source": 13, + "value": "181" + }, + { + "begin": 10595, + "end": 10674, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 10595, + "end": 10674, + "name": "tag", + "source": 13, + "value": "287" + }, + { + "begin": 10595, + "end": 10674, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10540, + "end": 10676, + "name": "tag", + "source": 13, + "value": "286" + }, + { + "begin": 10540, + "end": 10676, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10049, + "end": 10683, + "name": "POP", + "source": 13 + }, + { + "begin": 9959, + "end": 10683, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 9959, + "end": 10683, + "name": "POP", + "source": 13 + }, + { + "begin": 9959, + "end": 10683, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 9959, + "end": 10683, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 9959, + "end": 10683, + "name": "POP", + "source": 13 + }, + { + "begin": 9959, + "end": 10683, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 10689, + "end": 10832, + "name": "tag", + "source": 13, + "value": "186" + }, + { + "begin": 10689, + "end": 10832, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10746, + "end": 10751, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 10777, + "end": 10783, + "name": "DUP2", + "source": 13 + }, + { + "begin": 10771, + "end": 10784, + "name": "MLOAD", + "source": 13 + }, + { + "begin": 10762, + "end": 10784, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 10762, + "end": 10784, + "name": "POP", + "source": 13 + }, + { + "begin": 10793, + "end": 10826, + "name": "PUSH [tag]", + "source": 13, + "value": "289" + }, + { + "begin": 10820, + "end": 10825, + "name": "DUP2", + "source": 13 + }, + { + "begin": 10793, + "end": 10826, + "name": "PUSH [tag]", + "source": 13, + "value": "184" + }, + { + "begin": 10793, + "end": 10826, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 10793, + "end": 10826, + "name": "tag", + "source": 13, + "value": "289" + }, + { + "begin": 10793, + "end": 10826, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10689, + "end": 10832, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 10689, + "end": 10832, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 10689, + "end": 10832, + "name": "POP", + "source": 13 + }, + { + "begin": 10689, + "end": 10832, + "name": "POP", + "source": 13 + }, + { + "begin": 10689, + "end": 10832, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 10838, + "end": 11189, + "name": "tag", + "source": 13, + "value": "127" + }, + { + "begin": 10838, + "end": 11189, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10908, + "end": 10914, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 10957, + "end": 10959, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 10945, + "end": 10954, + "name": "DUP3", + "source": 13 + }, + { + "begin": 10936, + "end": 10943, + "name": "DUP5", + "source": 13 + }, + { + "begin": 10932, + "end": 10955, + "name": "SUB", + "source": 13 + }, + { + "begin": 10928, + "end": 10960, + "name": "SLT", + "source": 13 + }, + { + "begin": 10925, + "end": 11044, + "name": "ISZERO", + "source": 13 + }, + { + "begin": 10925, + "end": 11044, + "name": "PUSH [tag]", + "source": 13, + "value": "291" + }, + { + "begin": 10925, + "end": 11044, + "name": "JUMPI", + "source": 13 + }, + { + "begin": 10963, + "end": 11042, + "name": "PUSH [tag]", + "source": 13, + "value": "292" + }, + { + "begin": 10963, + "end": 11042, + "name": "PUSH [tag]", + "source": 13, + "value": "164" + }, + { + "begin": 10963, + "end": 11042, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 10963, + "end": 11042, + "name": "tag", + "source": 13, + "value": "292" + }, + { + "begin": 10963, + "end": 11042, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 10925, + "end": 11044, + "name": "tag", + "source": 13, + "value": "291" + }, + { + "begin": 10925, + "end": 11044, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 11083, + "end": 11084, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 11108, + "end": 11172, + "name": "PUSH [tag]", + "source": 13, + "value": "293" + }, + { + "begin": 11164, + "end": 11171, + "name": "DUP5", + "source": 13 + }, + { + "begin": 11155, + "end": 11161, + "name": "DUP3", + "source": 13 + }, + { + "begin": 11144, + "end": 11153, + "name": "DUP6", + "source": 13 + }, + { + "begin": 11140, + "end": 11162, + "name": "ADD", + "source": 13 + }, + { + "begin": 11108, + "end": 11172, + "name": "PUSH [tag]", + "source": 13, + "value": "186" + }, + { + "begin": 11108, + "end": 11172, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 11108, + "end": 11172, + "name": "tag", + "source": 13, + "value": "293" + }, + { + "begin": 11108, + "end": 11172, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 11098, + "end": 11172, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 11098, + "end": 11172, + "name": "POP", + "source": 13 + }, + { + "begin": 11054, + "end": 11182, + "name": "POP", + "source": 13 + }, + { + "begin": 10838, + "end": 11189, + "name": "SWAP3", + "source": 13 + }, + { + "begin": 10838, + "end": 11189, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 10838, + "end": 11189, + "name": "POP", + "source": 13 + }, + { + "begin": 10838, + "end": 11189, + "name": "POP", + "source": 13 + }, + { + "begin": 10838, + "end": 11189, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 11195, + "end": 11359, + "name": "tag", + "source": 13, + "value": "187" + }, + { + "begin": 11195, + "end": 11359, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 11335, + "end": 11351, + "name": "PUSH", + "source": 13, + "value": "4461746120746F6F2073686F7274000000000000000000000000000000000000" + }, + { + "begin": 11331, + "end": 11332, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 11323, + "end": 11329, + "name": "DUP3", + "source": 13 + }, + { + "begin": 11319, + "end": 11333, + "name": "ADD", + "source": 13 + }, + { + "begin": 11312, + "end": 11352, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 11195, + "end": 11359, + "name": "POP", + "source": 13 + }, + { + "begin": 11195, + "end": 11359, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 11365, + "end": 11731, + "name": "tag", + "source": 13, + "value": "188" + }, + { + "begin": 11365, + "end": 11731, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 11507, + "end": 11510, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 11528, + "end": 11595, + "name": "PUSH [tag]", + "source": 13, + "value": "296" + }, + { + "begin": 11592, + "end": 11594, + "name": "PUSH", + "source": 13, + "value": "E" + }, + { + "begin": 11587, + "end": 11590, + "name": "DUP4", + "source": 13 + }, + { + "begin": 11528, + "end": 11595, + "name": "PUSH [tag]", + "source": 13, + "value": "159" + }, + { + "begin": 11528, + "end": 11595, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 11528, + "end": 11595, + "name": "tag", + "source": 13, + "value": "296" + }, + { + "begin": 11528, + "end": 11595, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 11521, + "end": 11595, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 11521, + "end": 11595, + "name": "POP", + "source": 13 + }, + { + "begin": 11604, + "end": 11697, + "name": "PUSH [tag]", + "source": 13, + "value": "297" + }, + { + "begin": 11693, + "end": 11696, + "name": "DUP3", + "source": 13 + }, + { + "begin": 11604, + "end": 11697, + "name": "PUSH [tag]", + "source": 13, + "value": "187" + }, + { + "begin": 11604, + "end": 11697, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 11604, + "end": 11697, + "name": "tag", + "source": 13, + "value": "297" + }, + { + "begin": 11604, + "end": 11697, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 11722, + "end": 11724, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 11717, + "end": 11720, + "name": "DUP3", + "source": 13 + }, + { + "begin": 11713, + "end": 11725, + "name": "ADD", + "source": 13 + }, + { + "begin": 11706, + "end": 11725, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 11706, + "end": 11725, + "name": "POP", + "source": 13 + }, + { + "begin": 11365, + "end": 11731, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 11365, + "end": 11731, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 11365, + "end": 11731, + "name": "POP", + "source": 13 + }, + { + "begin": 11365, + "end": 11731, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 11737, + "end": 12156, + "name": "tag", + "source": 13, + "value": "157" + }, + { + "begin": 11737, + "end": 12156, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 11903, + "end": 11907, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 11941, + "end": 11943, + "name": "PUSH", + "source": 13, + "value": "20" + }, + { + "begin": 11930, + "end": 11939, + "name": "DUP3", + "source": 13 + }, + { + "begin": 11926, + "end": 11944, + "name": "ADD", + "source": 13 + }, + { + "begin": 11918, + "end": 11944, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 11918, + "end": 11944, + "name": "POP", + "source": 13 + }, + { + "begin": 11990, + "end": 11999, + "name": "DUP2", + "source": 13 + }, + { + "begin": 11984, + "end": 11988, + "name": "DUP2", + "source": 13 + }, + { + "begin": 11980, + "end": 12000, + "name": "SUB", + "source": 13 + }, + { + "begin": 11976, + "end": 11977, + "name": "PUSH", + "source": 13, + "value": "0" + }, + { + "begin": 11965, + "end": 11974, + "name": "DUP4", + "source": 13 + }, + { + "begin": 11961, + "end": 11978, + "name": "ADD", + "source": 13 + }, + { + "begin": 11954, + "end": 12001, + "name": "MSTORE", + "source": 13 + }, + { + "begin": 12018, + "end": 12149, + "name": "PUSH [tag]", + "source": 13, + "value": "299" + }, + { + "begin": 12144, + "end": 12148, + "name": "DUP2", + "source": 13 + }, + { + "begin": 12018, + "end": 12149, + "name": "PUSH [tag]", + "source": 13, + "value": "188" + }, + { + "begin": 12018, + "end": 12149, + "jumpType": "[in]", + "name": "JUMP", + "source": 13 + }, + { + "begin": 12018, + "end": 12149, + "name": "tag", + "source": 13, + "value": "299" + }, + { + "begin": 12018, + "end": 12149, + "name": "JUMPDEST", + "source": 13 + }, + { + "begin": 12010, + "end": 12149, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 12010, + "end": 12149, + "name": "POP", + "source": 13 + }, + { + "begin": 11737, + "end": 12156, + "name": "SWAP2", + "source": 13 + }, + { + "begin": 11737, + "end": 12156, + "name": "SWAP1", + "source": 13 + }, + { + "begin": 11737, + "end": 12156, + "name": "POP", + "source": 13 + }, + { + "begin": 11737, + "end": 12156, + "jumpType": "[out]", + "name": "JUMP", + "source": 13 + } + ] + } + }, + "sourceList": [ + "@openzeppelin/contracts/access/Ownable.sol", + "@openzeppelin/contracts/utils/Context.sol", + "@openzeppelin/contracts/utils/Strings.sol", + "@openzeppelin/contracts/utils/math/Math.sol", + "@openzeppelin/contracts/utils/math/SignedMath.sol", + "EAS/Common.sol", + "EAS/IEAS.sol", + "EAS/ISchemaRegistry.sol", + "EAS/ISchemaResolver.sol", + "EAS/ISemver.sol", + "EAS/SchemaResolver.sol", + "EAS/Semver.sol", + "ownable-resolver.sol", + "#utility.yul" + ] + }, + "methodIdentifiers": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", + "isPayable()": "ce46e046", + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", + "version()": "54fd4d50" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEAS\",\"name\":\"eas\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEAS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPayable\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPayable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiRevoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The new attestation.\"},\"returns\":{\"_0\":\"Whether the attestation is valid.\"}},\"isPayable()\":{\"returns\":{\"_0\":\"Whether the resolver supports ETH transfers.\"}},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The new attestations.\",\"values\":\"Explicit ETH amounts which were sent with each attestation.\"},\"returns\":{\"_0\":\"Whether all the attestations are valid.\"}},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The existing attestations to be revoked.\",\"values\":\"Explicit ETH amounts which were sent with each revocation.\"},\"returns\":{\"_0\":\"Whether the attestations can be revoked.\"}},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The existing attestation to be revoked.\"},\"returns\":{\"_0\":\"Whether the attestation can be revoked.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation and verifies whether it's valid.\"},\"isPayable()\":{\"notice\":\"Checks if the resolver can be sent ETH.\"},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes multiple attestations and verifies whether they are valid.\"},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes revocation of multiple attestation and verifies they can be revoked.\"},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation revocation and verifies if it can be revoked.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"ownable-resolver.sol\":\"OwnerRecipientResolver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/IEAS.sol\":{\"keccak256\":\"0xdc4fed434a7d7907767ba1dc6a8e9ddc94ede6df08fbea5d827077ef22e8bd8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://297555c22ff767608088c01ba2efe6da4dff7e95b7eb614e09d72cb36d0c989b\",\"dweb:/ipfs/QmQ7YWcBxiaf2mXZL1VLFsYSJPtVTHbWSBuimATVLMC7U4\"]},\"EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749\",\"dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]},\"EAS/SchemaResolver.sol\":{\"keccak256\":\"0xb6dc636c973996ca481d6522decae3ecae8c043c8d2ca5228e8f53a6c0210951\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7f2f9db27662ba6aea6be58351e1cc834a1c84122a6cecfcb6d293628a1364\",\"dweb:/ipfs/QmTkQ7gDaJaY4tgneQyNxmbz9AovJQmMfuZgG8akbAqu5K\"]},\"EAS/Semver.sol\":{\"keccak256\":\"0xcb67b60a08b4acb41ccda1ee2a44bb3d4291f3da9ecd60eed49991bdbfafb972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eea3e91b983ce442be39c0a88c93627043d1c6de342be99562916a948a5933e3\",\"dweb:/ipfs/QmTFeE2vsjwn1pNeSMWAoQ4NivUTHza5DYMgJA854Ddx8F\"]},\"ownable-resolver.sol\":{\"keccak256\":\"0xcc7c94f5c6175bf58d550a8a1376a34af81c94b76f95b097a266b7e5b34a59e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55753db971de8a9f74d847ceb2a51bc75a746a48a388cb170f418f84af776559\",\"dweb:/ipfs/Qmecz5nqbAAwnTPvaVUVVHfkX1Wbj4idsUb8rGZ7YqCSgV\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + }, + "userdoc": { + "kind": "user", + "methods": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "notice": "Processes an attestation and verifies whether it's valid." + }, + "isPayable()": { + "notice": "Checks if the resolver can be sent ETH." + }, + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "notice": "Processes multiple attestations and verifies whether they are valid." + }, + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { + "notice": "Processes revocation of multiple attestation and verifies they can be revoked." + }, + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { + "notice": "Processes an attestation revocation and verifies if it can be revoked." + }, + "version()": { + "notice": "Returns the full semver contract version." + } + }, + "version": 1 + } + } + } + }, + "sources": { + "@openzeppelin/contracts/access/Ownable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 177 + ], + "Ownable": [ + 147 + ] + }, + "id": 148, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "102:24:0" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 148, + "sourceUnit": 178, + "src": "128:45:0", + "symbolAliases": [ + { + "foreign": { + "id": 2, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 177, + "src": "136:7:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5, + "name": "Context", + "nameLocations": [ + "692:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 177, + "src": "692:7:0" + }, + "id": 6, + "nodeType": "InheritanceSpecifier", + "src": "692:7:0" + } + ], + "canonicalName": "Ownable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4, + "nodeType": "StructuredDocumentation", + "src": "175:487:0", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 147, + "linearizedBaseContracts": [ + 147, + 177 + ], + "name": "Ownable", + "nameLocation": "681:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 8, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "722:6:0", + "nodeType": "VariableDeclaration", + "scope": 147, + "src": "706:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "706:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "documentation": { + "id": 9, + "nodeType": "StructuredDocumentation", + "src": "735:85:0", + "text": " @dev The caller account is not authorized to perform an operation." + }, + "errorSelector": "118cdaa7", + "id": 13, + "name": "OwnableUnauthorizedAccount", + "nameLocation": "831:26:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "account", + "nameLocation": "866:7:0", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "858:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "858:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "857:17:0" + }, + "src": "825:50:0" + }, + { + "documentation": { + "id": 14, + "nodeType": "StructuredDocumentation", + "src": "881:82:0", + "text": " @dev The owner is not a valid owner account. (eg. `address(0)`)" + }, + "errorSelector": "1e4fbdf7", + "id": 18, + "name": "OwnableInvalidOwner", + "nameLocation": "974:19:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 17, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1002:5:0", + "nodeType": "VariableDeclaration", + "scope": 18, + "src": "994:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "994:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "993:15:0" + }, + "src": "968:41:0" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 24, + "name": "OwnershipTransferred", + "nameLocation": "1021:20:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 23, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "1058:13:0", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "1042:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1042:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 22, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1089:8:0", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "1073:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1073:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1041:57:0" + }, + "src": "1015:84:0" + }, + { + "body": { + "id": 49, + "nodeType": "Block", + "src": "1259:153:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 35, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 30, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1273:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1297: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": 32, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1289:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 31, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1289:7:0", + "typeDescriptions": {} + } + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1289:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1273:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 44, + "nodeType": "IfStatement", + "src": "1269:95:0", + "trueBody": { + "id": 43, + "nodeType": "Block", + "src": "1301:63:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1350: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": 38, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1342:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 37, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1342:7:0", + "typeDescriptions": {} + } + }, + "id": 40, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1342:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 36, + "name": "OwnableInvalidOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "1322:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1322:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 42, + "nodeType": "RevertStatement", + "src": "1315:38:0" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 46, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1392:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 45, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "1373:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1373:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 48, + "nodeType": "ExpressionStatement", + "src": "1373:32:0" + } + ] + }, + "documentation": { + "id": 25, + "nodeType": "StructuredDocumentation", + "src": "1105:115:0", + "text": " @dev Initializes the contract setting the address provided by the deployer as the initial owner." + }, + "id": 50, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "1245:12:0", + "nodeType": "VariableDeclaration", + "scope": 50, + "src": "1237:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1237:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1236:22:0" + }, + "returnParameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [], + "src": "1259:0:0" + }, + "scope": 147, + "src": "1225:187:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 57, + "nodeType": "Block", + "src": "1521:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 53, + "name": "_checkOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1531:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1531:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 55, + "nodeType": "ExpressionStatement", + "src": "1531:13:0" + }, + { + "id": 56, + "nodeType": "PlaceholderStatement", + "src": "1554:1:0" + } + ] + }, + "documentation": { + "id": 51, + "nodeType": "StructuredDocumentation", + "src": "1418:77:0", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 58, + "name": "onlyOwner", + "nameLocation": "1509:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 52, + "nodeType": "ParameterList", + "parameters": [], + "src": "1518:2:0" + }, + "src": "1500:62:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 66, + "nodeType": "Block", + "src": "1693:30:0", + "statements": [ + { + "expression": { + "id": 64, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "1710:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 63, + "id": 65, + "nodeType": "Return", + "src": "1703:13:0" + } + ] + }, + "documentation": { + "id": 59, + "nodeType": "StructuredDocumentation", + "src": "1568:65:0", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 67, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1647:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 60, + "nodeType": "ParameterList", + "parameters": [], + "src": "1652:2:0" + }, + "returnParameters": { + "id": 63, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 67, + "src": "1684:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 61, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1684:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1683:9:0" + }, + "scope": 147, + "src": "1638:85:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 83, + "nodeType": "Block", + "src": "1841:117:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 71, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "1855:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1855:7:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 73, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1866:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1866:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1855:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 82, + "nodeType": "IfStatement", + "src": "1851:101:0", + "trueBody": { + "id": 81, + "nodeType": "Block", + "src": "1880:72:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 77, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1928:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1928:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76, + "name": "OwnableUnauthorizedAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13, + "src": "1901:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1901:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 80, + "nodeType": "RevertStatement", + "src": "1894:47:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 68, + "nodeType": "StructuredDocumentation", + "src": "1729:62:0", + "text": " @dev Throws if the sender is not the owner." + }, + "id": 84, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "1805:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 69, + "nodeType": "ParameterList", + "parameters": [], + "src": "1816:2:0" + }, + "returnParameters": { + "id": 70, + "nodeType": "ParameterList", + "parameters": [], + "src": "1841:0:0" + }, + "scope": 147, + "src": "1796:162:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 97, + "nodeType": "Block", + "src": "2347:47:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2384: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": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2376:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 91, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2376:7:0", + "typeDescriptions": {} + } + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2376:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 90, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "2357:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2357:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 96, + "nodeType": "ExpressionStatement", + "src": "2357:30:0" + } + ] + }, + "documentation": { + "id": 85, + "nodeType": "StructuredDocumentation", + "src": "1964:324:0", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 98, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 88, + "kind": "modifierInvocation", + "modifierName": { + "id": 87, + "name": "onlyOwner", + "nameLocations": [ + "2337:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2337:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2337:9:0" + } + ], + "name": "renounceOwnership", + "nameLocation": "2302:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "2319:2:0" + }, + "returnParameters": { + "id": 89, + "nodeType": "ParameterList", + "parameters": [], + "src": "2347:0:0" + }, + "scope": 147, + "src": "2293:101:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 125, + "nodeType": "Block", + "src": "2613:145:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 106, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "2627:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2647: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": 108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2639:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2639:7:0", + "typeDescriptions": {} + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2639:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2627:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120, + "nodeType": "IfStatement", + "src": "2623:91:0", + "trueBody": { + "id": 119, + "nodeType": "Block", + "src": "2651:63:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2700: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": 114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2692:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2692:7:0", + "typeDescriptions": {} + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2692:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 112, + "name": "OwnableInvalidOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "2672:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2672:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 118, + "nodeType": "RevertStatement", + "src": "2665:38:0" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 122, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "2742:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 121, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "2723:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2723:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 124, + "nodeType": "ExpressionStatement", + "src": "2723:28:0" + } + ] + }, + "documentation": { + "id": 99, + "nodeType": "StructuredDocumentation", + "src": "2400:138:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 126, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 104, + "kind": "modifierInvocation", + "modifierName": { + "id": 103, + "name": "onlyOwner", + "nameLocations": [ + "2603:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58, + "src": "2603:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2603:9:0" + } + ], + "name": "transferOwnership", + "nameLocation": "2552:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 101, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2578:8:0", + "nodeType": "VariableDeclaration", + "scope": 126, + "src": "2570:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2570:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2569:18:0" + }, + "returnParameters": { + "id": 105, + "nodeType": "ParameterList", + "parameters": [], + "src": "2613:0:0" + }, + "scope": 147, + "src": "2543:215:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 145, + "nodeType": "Block", + "src": "2975:124:0", + "statements": [ + { + "assignments": [ + 133 + ], + "declarations": [ + { + "constant": false, + "id": 133, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2993:8:0", + "nodeType": "VariableDeclaration", + "scope": 145, + "src": "2985:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2985:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "id": 134, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "3004:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2985:25:0" + }, + { + "expression": { + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 136, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "3020:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 137, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3029:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3020:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 139, + "nodeType": "ExpressionStatement", + "src": "3020:17:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 141, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "3073:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 142, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "3083:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 140, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "3052:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3052:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 144, + "nodeType": "EmitStatement", + "src": "3047:45:0" + } + ] + }, + "documentation": { + "id": 127, + "nodeType": "StructuredDocumentation", + "src": "2764:143:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 146, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2921:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 129, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2948:8:0", + "nodeType": "VariableDeclaration", + "scope": 146, + "src": "2940:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2940:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2939:18:0" + }, + "returnParameters": { + "id": 131, + "nodeType": "ParameterList", + "parameters": [], + "src": "2975:0:0" + }, + "scope": 147, + "src": "2912:187:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 148, + "src": "663:2438:0", + "usedErrors": [ + 13, + 18 + ], + "usedEvents": [ + 24 + ] + } + ], + "src": "102:3000:0" + }, + "id": 0 + }, + "@openzeppelin/contracts/utils/Context.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 177 + ] + }, + "id": 178, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 149, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "101:24:1" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Context", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 150, + "nodeType": "StructuredDocumentation", + "src": "127:496:1", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 177, + "linearizedBaseContracts": [ + 177 + ], + "name": "Context", + "nameLocation": "642:7:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 158, + "nodeType": "Block", + "src": "718:34:1", + "statements": [ + { + "expression": { + "expression": { + "id": 155, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "735:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "739:6:1", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "735:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 154, + "id": 157, + "nodeType": "Return", + "src": "728:17:1" + } + ] + }, + "id": 159, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "665:10:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 151, + "nodeType": "ParameterList", + "parameters": [], + "src": "675:2:1" + }, + "returnParameters": { + "id": 154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 153, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "709:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "709:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "708:9:1" + }, + "scope": 177, + "src": "656:96:1", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 167, + "nodeType": "Block", + "src": "825:32:1", + "statements": [ + { + "expression": { + "expression": { + "id": 164, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "842:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "846:4:1", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "842:8:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 163, + "id": 166, + "nodeType": "Return", + "src": "835:15:1" + } + ] + }, + "id": 168, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "767:8:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 160, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:2:1" + }, + "returnParameters": { + "id": 163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 162, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 168, + "src": "809:14:1", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 161, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "809:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "808:16:1" + }, + "scope": 177, + "src": "758:99:1", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 175, + "nodeType": "Block", + "src": "935:25:1", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "952:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 172, + "id": 174, + "nodeType": "Return", + "src": "945:8:1" + } + ] + }, + "id": 176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_contextSuffixLength", + "nameLocation": "872:20:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 169, + "nodeType": "ParameterList", + "parameters": [], + "src": "892:2:1" + }, + "returnParameters": { + "id": 172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 171, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 176, + "src": "926:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 170, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "926:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "925:9:1" + }, + "scope": 177, + "src": "863:97:1", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 178, + "src": "624:338:1", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:862:1" + }, + "id": 1 + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "exportedSymbols": { + "Math": [ + 1486 + ], + "SignedMath": [ + 1591 + ], + "Strings": [ + 432 + ] + }, + "id": 433, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 179, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "101:24:2" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", + "file": "./math/Math.sol", + "id": 181, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 433, + "sourceUnit": 1487, + "src": "127:37:2", + "symbolAliases": [ + { + "foreign": { + "id": 180, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "135:4:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", + "file": "./math/SignedMath.sol", + "id": 183, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 433, + "sourceUnit": 1592, + "src": "165:49:2", + "symbolAliases": [ + { + "foreign": { + "id": 182, + "name": "SignedMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "173:10:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Strings", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 184, + "nodeType": "StructuredDocumentation", + "src": "216:34:2", + "text": " @dev String operations." + }, + "fullyImplemented": true, + "id": 432, + "linearizedBaseContracts": [ + 432 + ], + "name": "Strings", + "nameLocation": "259:7:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 187, + "mutability": "constant", + "name": "HEX_DIGITS", + "nameLocation": "298:10:2", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "273:56:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 185, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "273:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": { + "hexValue": "30313233343536373839616263646566", + "id": 186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "311:18:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", + "typeString": "literal_string \"0123456789abcdef\"" + }, + "value": "0123456789abcdef" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 190, + "mutability": "constant", + "name": "ADDRESS_LENGTH", + "nameLocation": "358:14:2", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "335:42:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 188, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "335:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "3230", + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "375:2:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "visibility": "private" + }, + { + "documentation": { + "id": 191, + "nodeType": "StructuredDocumentation", + "src": "384:81:2", + "text": " @dev The `value` string doesn't fit in the specified `length`." + }, + "errorSelector": "e22e27eb", + "id": 197, + "name": "StringsInsufficientHexLength", + "nameLocation": "476:28:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 193, + "mutability": "mutable", + "name": "value", + "nameLocation": "513:5:2", + "nodeType": "VariableDeclaration", + "scope": 197, + "src": "505:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "505:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 195, + "mutability": "mutable", + "name": "length", + "nameLocation": "528:6:2", + "nodeType": "VariableDeclaration", + "scope": 197, + "src": "520:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "520:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "504:31:2" + }, + "src": "470:66:2" + }, + { + "body": { + "id": 244, + "nodeType": "Block", + "src": "708:627:2", + "statements": [ + { + "id": 243, + "nodeType": "UncheckedBlock", + "src": "718:611:2", + "statements": [ + { + "assignments": [ + 206 + ], + "declarations": [ + { + "constant": false, + "id": 206, + "mutability": "mutable", + "name": "length", + "nameLocation": "750:6:2", + "nodeType": "VariableDeclaration", + "scope": 243, + "src": "742:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 205, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "742:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 213, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 209, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "770:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 207, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "759:4:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$1486_$", + "typeString": "type(library Math)" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "764:5:2", + "memberName": "log10", + "nodeType": "MemberAccess", + "referencedDeclaration": 1306, + "src": "759:10:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "759:17:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "779:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "759:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "742:38:2" + }, + { + "assignments": [ + 215 + ], + "declarations": [ + { + "constant": false, + "id": 215, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "808:6:2", + "nodeType": "VariableDeclaration", + "scope": 243, + "src": "794:20:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 214, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "794:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 220, + "initialValue": { + "arguments": [ + { + "id": 218, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 206, + "src": "828:6:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "817:10:2", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + }, + "typeName": { + "id": 216, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "821:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "id": 219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "817:18:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "794:41:2" + }, + { + "assignments": [ + 222 + ], + "declarations": [ + { + "constant": false, + "id": 222, + "mutability": "mutable", + "name": "ptr", + "nameLocation": "857:3:2", + "nodeType": "VariableDeclaration", + "scope": 243, + "src": "849:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 221, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "849:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 223, + "nodeType": "VariableDeclarationStatement", + "src": "849:11:2" + }, + { + "AST": { + "nativeSrc": "930:67:2", + "nodeType": "YulBlock", + "src": "930:67:2", + "statements": [ + { + "nativeSrc": "948:35:2", + "nodeType": "YulAssignment", + "src": "948:35:2", + "value": { + "arguments": [ + { + "name": "buffer", + "nativeSrc": "959:6:2", + "nodeType": "YulIdentifier", + "src": "959:6:2" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "971:2:2", + "nodeType": "YulLiteral", + "src": "971:2:2", + "type": "", + "value": "32" + }, + { + "name": "length", + "nativeSrc": "975:6:2", + "nodeType": "YulIdentifier", + "src": "975:6:2" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "967:3:2", + "nodeType": "YulIdentifier", + "src": "967:3:2" + }, + "nativeSrc": "967:15:2", + "nodeType": "YulFunctionCall", + "src": "967:15:2" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "955:3:2", + "nodeType": "YulIdentifier", + "src": "955:3:2" + }, + "nativeSrc": "955:28:2", + "nodeType": "YulFunctionCall", + "src": "955:28:2" + }, + "variableNames": [ + { + "name": "ptr", + "nativeSrc": "948:3:2", + "nodeType": "YulIdentifier", + "src": "948:3:2" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "cancun", + "externalReferences": [ + { + "declaration": 215, + "isOffset": false, + "isSlot": false, + "src": "959:6:2", + "valueSize": 1 + }, + { + "declaration": 206, + "isOffset": false, + "isSlot": false, + "src": "975:6:2", + "valueSize": 1 + }, + { + "declaration": 222, + "isOffset": false, + "isSlot": false, + "src": "948:3:2", + "valueSize": 1 + } + ], + "id": 224, + "nodeType": "InlineAssembly", + "src": "921:76:2" + }, + { + "body": { + "id": 239, + "nodeType": "Block", + "src": "1023:269:2", + "statements": [ + { + "expression": { + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "1041:5:2", + "subExpression": { + "id": 226, + "name": "ptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "1041:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 228, + "nodeType": "ExpressionStatement", + "src": "1041:5:2" + }, + { + "AST": { + "nativeSrc": "1124:86:2", + "nodeType": "YulBlock", + "src": "1124:86:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "1154:3:2", + "nodeType": "YulIdentifier", + "src": "1154:3:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1168:5:2", + "nodeType": "YulIdentifier", + "src": "1168:5:2" + }, + { + "kind": "number", + "nativeSrc": "1175:2:2", + "nodeType": "YulLiteral", + "src": "1175:2:2", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "mod", + "nativeSrc": "1164:3:2", + "nodeType": "YulIdentifier", + "src": "1164:3:2" + }, + "nativeSrc": "1164:14:2", + "nodeType": "YulFunctionCall", + "src": "1164:14:2" + }, + { + "name": "HEX_DIGITS", + "nativeSrc": "1180:10:2", + "nodeType": "YulIdentifier", + "src": "1180:10:2" + } + ], + "functionName": { + "name": "byte", + "nativeSrc": "1159:4:2", + "nodeType": "YulIdentifier", + "src": "1159:4:2" + }, + "nativeSrc": "1159:32:2", + "nodeType": "YulFunctionCall", + "src": "1159:32:2" + } + ], + "functionName": { + "name": "mstore8", + "nativeSrc": "1146:7:2", + "nodeType": "YulIdentifier", + "src": "1146:7:2" + }, + "nativeSrc": "1146:46:2", + "nodeType": "YulFunctionCall", + "src": "1146:46:2" + }, + "nativeSrc": "1146:46:2", + "nodeType": "YulExpressionStatement", + "src": "1146:46:2" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "cancun", + "externalReferences": [ + { + "declaration": 187, + "isOffset": false, + "isSlot": false, + "src": "1180:10:2", + "valueSize": 1 + }, + { + "declaration": 222, + "isOffset": false, + "isSlot": false, + "src": "1154:3:2", + "valueSize": 1 + }, + { + "declaration": 200, + "isOffset": false, + "isSlot": false, + "src": "1168:5:2", + "valueSize": 1 + } + ], + "id": 229, + "nodeType": "InlineAssembly", + "src": "1115:95:2" + }, + { + "expression": { + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 230, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "1227:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1236:2:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "1227:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 233, + "nodeType": "ExpressionStatement", + "src": "1227:11:2" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 234, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "1260:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1269:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1260:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 238, + "nodeType": "IfStatement", + "src": "1256:21:2", + "trueBody": { + "id": 237, + "nodeType": "Break", + "src": "1272:5:2" + } + } + ] + }, + "condition": { + "hexValue": "74727565", + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1017:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "id": 240, + "nodeType": "WhileStatement", + "src": "1010:282:2" + }, + { + "expression": { + "id": 241, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1312:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 204, + "id": 242, + "nodeType": "Return", + "src": "1305:13:2" + } + ] + } + ] + }, + "documentation": { + "id": 198, + "nodeType": "StructuredDocumentation", + "src": "542:90:2", + "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." + }, + "id": 245, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "646:8:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "value", + "nameLocation": "663:5:2", + "nodeType": "VariableDeclaration", + "scope": 245, + "src": "655:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 199, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "655:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "654:15:2" + }, + "returnParameters": { + "id": 204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 203, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 245, + "src": "693:13:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 202, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "693:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "692:15:2" + }, + "scope": 432, + "src": "637:698:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 270, + "nodeType": "Block", + "src": "1511:92:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 256, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 248, + "src": "1542:5:2", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1550:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1542:9:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "", + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1560:2:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1542:20:2", + "trueExpression": { + "hexValue": "2d", + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1554:3:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561", + "typeString": "literal_string \"-\"" + }, + "value": "-" + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 265, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 248, + "src": "1588:5:2", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 263, + "name": "SignedMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "1573:10:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SignedMath_$1591_$", + "typeString": "type(library SignedMath)" + } + }, + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1584:3:2", + "memberName": "abs", + "nodeType": "MemberAccess", + "referencedDeclaration": 1590, + "src": "1573:14:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", + "typeString": "function (int256) pure returns (uint256)" + } + }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1573:21:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 262, + "name": "toString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 245, + "src": "1564:8:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1564:31:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1528:6:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 253, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1528:6:2", + "typeDescriptions": {} + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1535:6:2", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "1528:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", + "typeString": "function () pure returns (string memory)" + } + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1528:68:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 252, + "id": 269, + "nodeType": "Return", + "src": "1521:75:2" + } + ] + }, + "documentation": { + "id": 246, + "nodeType": "StructuredDocumentation", + "src": "1341:89:2", + "text": " @dev Converts a `int256` to its ASCII `string` decimal representation." + }, + "id": 271, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toStringSigned", + "nameLocation": "1444:14:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 248, + "mutability": "mutable", + "name": "value", + "nameLocation": "1466:5:2", + "nodeType": "VariableDeclaration", + "scope": 271, + "src": "1459:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 247, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1459:6:2", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1458:14:2" + }, + "returnParameters": { + "id": 252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 251, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 271, + "src": "1496:13:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 250, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1496:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1495:15:2" + }, + "scope": 432, + "src": "1435:168:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 290, + "nodeType": "Block", + "src": "1782:100:2", + "statements": [ + { + "id": 289, + "nodeType": "UncheckedBlock", + "src": "1792:84:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 280, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "1835:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 283, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "1854:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 281, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "1842:4:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$1486_$", + "typeString": "type(library Math)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1847:6:2", + "memberName": "log256", + "nodeType": "MemberAccess", + "referencedDeclaration": 1428, + "src": "1842:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1842:18:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1863:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1842:22:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 279, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 291, + 374, + 394 + ], + "referencedDeclaration": 374, + "src": "1823:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1823:42:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 278, + "id": 288, + "nodeType": "Return", + "src": "1816:49:2" + } + ] + } + ] + }, + "documentation": { + "id": 272, + "nodeType": "StructuredDocumentation", + "src": "1609:94:2", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." + }, + "id": 291, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1717:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 274, + "mutability": "mutable", + "name": "value", + "nameLocation": "1737:5:2", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "1729:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1729:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1728:15:2" + }, + "returnParameters": { + "id": 278, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 277, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "1767:13:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 276, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1767:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1766:15:2" + }, + "scope": 432, + "src": "1708:174:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 373, + "nodeType": "Block", + "src": "2095:435:2", + "statements": [ + { + "assignments": [ + 302 + ], + "declarations": [ + { + "constant": false, + "id": 302, + "mutability": "mutable", + "name": "localValue", + "nameLocation": "2113:10:2", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "2105:18:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 301, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2105:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 304, + "initialValue": { + "id": 303, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "2126:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2105:26:2" + }, + { + "assignments": [ + 306 + ], + "declarations": [ + { + "constant": false, + "id": 306, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "2154:6:2", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "2141:19:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 305, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2141:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 315, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2173:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 310, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "2177:6:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2173:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2186:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2173:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2163:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 307, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2167:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2163:25:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2141:47:2" + }, + { + "expression": { + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 316, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "2198:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 318, + "indexExpression": { + "hexValue": "30", + "id": 317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2205:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2198:9:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2210:3:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "src": "2198:15:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 321, + "nodeType": "ExpressionStatement", + "src": "2198:15:2" + }, + { + "expression": { + "id": 326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 322, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "2223:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 324, + "indexExpression": { + "hexValue": "31", + "id": 323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2230:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2223:9:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "78", + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2235:3:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", + "typeString": "literal_string \"x\"" + }, + "value": "x" + }, + "src": "2223:15:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 327, + "nodeType": "ExpressionStatement", + "src": "2223:15:2" + }, + { + "body": { + "id": 356, + "nodeType": "Block", + "src": "2293:95:2", + "statements": [ + { + "expression": { + "id": 350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 342, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "2307:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 344, + "indexExpression": { + "id": 343, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "2314:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2307:9:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 345, + "name": "HEX_DIGITS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 187, + "src": "2319:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "id": 349, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 346, + "name": "localValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "2330:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307866", + "id": 347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2343:3:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "0xf" + }, + "src": "2330:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2319:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "2307:40:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 351, + "nodeType": "ExpressionStatement", + "src": "2307:40:2" + }, + { + "expression": { + "id": 354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 352, + "name": "localValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "2361:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2376:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "2361:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 355, + "nodeType": "ExpressionStatement", + "src": "2361:16:2" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 336, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "2281:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2285:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2281:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 357, + "initializationExpression": { + "assignments": [ + 329 + ], + "declarations": [ + { + "constant": false, + "id": 329, + "mutability": "mutable", + "name": "i", + "nameLocation": "2261:1:2", + "nodeType": "VariableDeclaration", + "scope": 357, + "src": "2253:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 328, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2253:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 335, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2265:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 331, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "2269:6:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2265:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2278:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2265:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2253:26:2" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": true, + "src": "2288:3:2", + "subExpression": { + "id": 339, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "2290:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 341, + "nodeType": "ExpressionStatement", + "src": "2288:3:2" + }, + "nodeType": "ForStatement", + "src": "2248:140:2" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 358, + "name": "localValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "2401:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2415:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2401:15:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 367, + "nodeType": "IfStatement", + "src": "2397:96:2", + "trueBody": { + "id": 366, + "nodeType": "Block", + "src": "2418:75:2", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 362, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 294, + "src": "2468:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 363, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "2475:6:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 361, + "name": "StringsInsufficientHexLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 197, + "src": "2439:28:2", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256,uint256) pure returns (error)" + } + }, + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2439:43:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 365, + "nodeType": "RevertStatement", + "src": "2432:50:2" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 370, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "2516:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2509:6:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 368, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2509:6:2", + "typeDescriptions": {} + } + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2509:14:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 300, + "id": 372, + "nodeType": "Return", + "src": "2502:21:2" + } + ] + }, + "documentation": { + "id": 292, + "nodeType": "StructuredDocumentation", + "src": "1888:112:2", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." + }, + "id": 374, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "2014:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "value", + "nameLocation": "2034:5:2", + "nodeType": "VariableDeclaration", + "scope": 374, + "src": "2026:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2026:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "length", + "nameLocation": "2049:6:2", + "nodeType": "VariableDeclaration", + "scope": 374, + "src": "2041:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2041:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2025:31:2" + }, + "returnParameters": { + "id": 300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 299, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 374, + "src": "2080:13:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 298, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2080:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2079:15:2" + }, + "scope": 432, + "src": "2005:525:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 393, + "nodeType": "Block", + "src": "2762:75:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 387, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 377, + "src": "2807:4:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2799:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 385, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "2799:7:2", + "typeDescriptions": {} + } + }, + "id": 388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2799:13:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2791:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 383, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2791:7:2", + "typeDescriptions": {} + } + }, + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2791:22:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 390, + "name": "ADDRESS_LENGTH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 190, + "src": "2815:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 382, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 291, + 374, + 394 + ], + "referencedDeclaration": 374, + "src": "2779:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2779:51:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 381, + "id": 392, + "nodeType": "Return", + "src": "2772:58:2" + } + ] + }, + "documentation": { + "id": 375, + "nodeType": "StructuredDocumentation", + "src": "2536:148:2", + "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n representation." + }, + "id": 394, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "2698:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 377, + "mutability": "mutable", + "name": "addr", + "nameLocation": "2718:4:2", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "2710:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2710:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2709:14:2" + }, + "returnParameters": { + "id": 381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 380, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 394, + "src": "2747:13:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 379, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2747:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2746:15:2" + }, + "scope": 432, + "src": "2689:148:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 430, + "nodeType": "Block", + "src": "2992:104:2", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 406, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 397, + "src": "3015:1:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3009:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 404, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3009:5:2", + "typeDescriptions": {} + } + }, + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3009:8:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3018:6:2", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3009:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 411, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 399, + "src": "3034:1:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3028:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 409, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3028:5:2", + "typeDescriptions": {} + } + }, + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3028:8:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3037:6:2", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3028:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3009:34:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 418, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 397, + "src": "3063:1:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3057:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 416, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3057:5:2", + "typeDescriptions": {} + } + }, + "id": 419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3057:8:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 415, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "3047:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3047:19:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 424, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 399, + "src": "3086:1:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3080:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 422, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3080:5:2", + "typeDescriptions": {} + } + }, + "id": 425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3080:8:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 421, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "3070:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3070:19:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3047:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3009:80:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 403, + "id": 429, + "nodeType": "Return", + "src": "3002:87:2" + } + ] + }, + "documentation": { + "id": 395, + "nodeType": "StructuredDocumentation", + "src": "2843:66:2", + "text": " @dev Returns true if the two strings are equal." + }, + "id": 431, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equal", + "nameLocation": "2923:5:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 397, + "mutability": "mutable", + "name": "a", + "nameLocation": "2943:1:2", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "2929:15:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 396, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2929:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 399, + "mutability": "mutable", + "name": "b", + "nameLocation": "2960:1:2", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "2946:15:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 398, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2946:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2928:34:2" + }, + "returnParameters": { + "id": 403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 402, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "2986:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 401, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2986:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2985:6:2" + }, + "scope": 432, + "src": "2914:182:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 433, + "src": "251:2847:2", + "usedErrors": [ + 197 + ], + "usedEvents": [] + } + ], + "src": "101:2998:2" + }, + "id": 2 + }, + "@openzeppelin/contracts/utils/math/Math.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", + "exportedSymbols": { + "Math": [ + 1486 + ] + }, + "id": 1487, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 434, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "103:24:3" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Math", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 435, + "nodeType": "StructuredDocumentation", + "src": "129:73:3", + "text": " @dev Standard math utilities missing in the Solidity language." + }, + "fullyImplemented": true, + "id": 1486, + "linearizedBaseContracts": [ + 1486 + ], + "name": "Math", + "nameLocation": "211:4:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 436, + "nodeType": "StructuredDocumentation", + "src": "222:50:3", + "text": " @dev Muldiv operation overflow." + }, + "errorSelector": "227bc153", + "id": 438, + "name": "MathOverflowedMulDiv", + "nameLocation": "283:20:3", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 437, + "nodeType": "ParameterList", + "parameters": [], + "src": "303:2:3" + }, + "src": "277:29:3" + }, + { + "canonicalName": "Math.Rounding", + "id": 443, + "members": [ + { + "id": 439, + "name": "Floor", + "nameLocation": "336:5:3", + "nodeType": "EnumValue", + "src": "336:5:3" + }, + { + "id": 440, + "name": "Ceil", + "nameLocation": "379:4:3", + "nodeType": "EnumValue", + "src": "379:4:3" + }, + { + "id": 441, + "name": "Trunc", + "nameLocation": "421:5:3", + "nodeType": "EnumValue", + "src": "421:5:3" + }, + { + "id": 442, + "name": "Expand", + "nameLocation": "451:6:3", + "nodeType": "EnumValue", + "src": "451:6:3" + } + ], + "name": "Rounding", + "nameLocation": "317:8:3", + "nodeType": "EnumDefinition", + "src": "312:169:3" + }, + { + "body": { + "id": 474, + "nodeType": "Block", + "src": "661:140:3", + "statements": [ + { + "id": 473, + "nodeType": "UncheckedBlock", + "src": "671:124:3", + "statements": [ + { + "assignments": [ + 456 + ], + "declarations": [ + { + "constant": false, + "id": 456, + "mutability": "mutable", + "name": "c", + "nameLocation": "703:1:3", + "nodeType": "VariableDeclaration", + "scope": 473, + "src": "695:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 455, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "695:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 460, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 457, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "707:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 458, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 448, + "src": "711:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "707:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "695:17:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 461, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "730:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 462, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "734:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "730:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 468, + "nodeType": "IfStatement", + "src": "726:28:3", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "745:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "752:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 466, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "744:10:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 454, + "id": 467, + "nodeType": "Return", + "src": "737:17:3" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "776:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "id": 470, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "782:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 471, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "775:9:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 454, + "id": 472, + "nodeType": "Return", + "src": "768:16:3" + } + ] + } + ] + }, + "documentation": { + "id": 444, + "nodeType": "StructuredDocumentation", + "src": "487:93:3", + "text": " @dev Returns the addition of two unsigned integers, with an overflow flag." + }, + "id": 475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryAdd", + "nameLocation": "594:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 449, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 446, + "mutability": "mutable", + "name": "a", + "nameLocation": "609:1:3", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "601:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "601:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 448, + "mutability": "mutable", + "name": "b", + "nameLocation": "620:1:3", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "612:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "612:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "600:22:3" + }, + "returnParameters": { + "id": 454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 451, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "646:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 450, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "646:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 453, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "652:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "652:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "645:15:3" + }, + "scope": 1486, + "src": "585:216:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 502, + "nodeType": "Block", + "src": "984:113:3", + "statements": [ + { + "id": 501, + "nodeType": "UncheckedBlock", + "src": "994:97:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 487, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 480, + "src": "1022:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 488, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 478, + "src": "1026:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1022:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 494, + "nodeType": "IfStatement", + "src": "1018:28:3", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1037:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1044:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 492, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1036:10:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 486, + "id": 493, + "nodeType": "Return", + "src": "1029:17:3" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1068:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 496, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 478, + "src": "1074:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 497, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 480, + "src": "1078:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1074:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 499, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1067:13:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 486, + "id": 500, + "nodeType": "Return", + "src": "1060:20:3" + } + ] + } + ] + }, + "documentation": { + "id": 476, + "nodeType": "StructuredDocumentation", + "src": "807:96:3", + "text": " @dev Returns the subtraction of two unsigned integers, with an overflow flag." + }, + "id": 503, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "trySub", + "nameLocation": "917:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 478, + "mutability": "mutable", + "name": "a", + "nameLocation": "932:1:3", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "924:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "924:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 480, + "mutability": "mutable", + "name": "b", + "nameLocation": "943:1:3", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "935:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "935:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "923:22:3" + }, + "returnParameters": { + "id": 486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "969:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 482, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "969:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 485, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "975:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "975:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "968:15:3" + }, + "scope": 1486, + "src": "908:189:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 544, + "nodeType": "Block", + "src": "1283:417:3", + "statements": [ + { + "id": 543, + "nodeType": "UncheckedBlock", + "src": "1293:401:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 515, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 506, + "src": "1551:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1556:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1551:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 522, + "nodeType": "IfStatement", + "src": "1547:28:3", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1567:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "hexValue": "30", + "id": 519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1573:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 520, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1566:9:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 514, + "id": 521, + "nodeType": "Return", + "src": "1559:16:3" + } + }, + { + "assignments": [ + 524 + ], + "declarations": [ + { + "constant": false, + "id": 524, + "mutability": "mutable", + "name": "c", + "nameLocation": "1597:1:3", + "nodeType": "VariableDeclaration", + "scope": 543, + "src": "1589:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 523, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1589:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 528, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 525, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 506, + "src": "1601:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 526, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "1605:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1601:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1589:17:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 529, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 524, + "src": "1624:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 530, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 506, + "src": "1628:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1624:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 532, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "1633:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1624:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 538, + "nodeType": "IfStatement", + "src": "1620:33:3", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1644:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1651:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 536, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1643:10:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 514, + "id": 537, + "nodeType": "Return", + "src": "1636:17:3" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1675:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "id": 540, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 524, + "src": "1681:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 541, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1674:9:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 514, + "id": 542, + "nodeType": "Return", + "src": "1667:16:3" + } + ] + } + ] + }, + "documentation": { + "id": 504, + "nodeType": "StructuredDocumentation", + "src": "1103:99:3", + "text": " @dev Returns the multiplication of two unsigned integers, with an overflow flag." + }, + "id": 545, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryMul", + "nameLocation": "1216:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 506, + "mutability": "mutable", + "name": "a", + "nameLocation": "1231:1:3", + "nodeType": "VariableDeclaration", + "scope": 545, + "src": "1223:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1223:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "b", + "nameLocation": "1242:1:3", + "nodeType": "VariableDeclaration", + "scope": 545, + "src": "1234:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1234:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1222:22:3" + }, + "returnParameters": { + "id": 514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 511, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 545, + "src": "1268:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 510, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1268:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 513, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 545, + "src": "1274:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 512, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1274:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1267:15:3" + }, + "scope": 1486, + "src": "1207:493:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 572, + "nodeType": "Block", + "src": "1887:114:3", + "statements": [ + { + "id": 571, + "nodeType": "UncheckedBlock", + "src": "1897:98:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 557, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 550, + "src": "1925:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1930:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1925:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 564, + "nodeType": "IfStatement", + "src": "1921:29:3", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1941:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1948:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 562, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1940:10:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 556, + "id": 563, + "nodeType": "Return", + "src": "1933:17:3" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1972:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 566, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 548, + "src": "1978:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 567, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 550, + "src": "1982:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1978:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 569, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1971:13:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 556, + "id": 570, + "nodeType": "Return", + "src": "1964:20:3" + } + ] + } + ] + }, + "documentation": { + "id": 546, + "nodeType": "StructuredDocumentation", + "src": "1706:100:3", + "text": " @dev Returns the division of two unsigned integers, with a division by zero flag." + }, + "id": 573, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryDiv", + "nameLocation": "1820:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 551, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 548, + "mutability": "mutable", + "name": "a", + "nameLocation": "1835:1:3", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "1827:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1827:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 550, + "mutability": "mutable", + "name": "b", + "nameLocation": "1846:1:3", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "1838:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1838:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1826:22:3" + }, + "returnParameters": { + "id": 556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 553, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "1872:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 552, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1872:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 555, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "1878:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1878:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1871:15:3" + }, + "scope": 1486, + "src": "1811:190:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 600, + "nodeType": "Block", + "src": "2198:114:3", + "statements": [ + { + "id": 599, + "nodeType": "UncheckedBlock", + "src": "2208:98:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 585, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "2236:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2241:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2236:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 592, + "nodeType": "IfStatement", + "src": "2232:29:3", + "trueBody": { + "expression": { + "components": [ + { + "hexValue": "66616c7365", + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2252:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "30", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2259:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 590, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2251:10:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 584, + "id": 591, + "nodeType": "Return", + "src": "2244:17:3" + } + }, + { + "expression": { + "components": [ + { + "hexValue": "74727565", + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2283:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 594, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "2289:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "id": 595, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "2293:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2289:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 597, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2282:13:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 584, + "id": 598, + "nodeType": "Return", + "src": "2275:20:3" + } + ] + } + ] + }, + "documentation": { + "id": 574, + "nodeType": "StructuredDocumentation", + "src": "2007:110:3", + "text": " @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag." + }, + "id": 601, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryMod", + "nameLocation": "2131:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 576, + "mutability": "mutable", + "name": "a", + "nameLocation": "2146:1:3", + "nodeType": "VariableDeclaration", + "scope": 601, + "src": "2138:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2138:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 578, + "mutability": "mutable", + "name": "b", + "nameLocation": "2157:1:3", + "nodeType": "VariableDeclaration", + "scope": 601, + "src": "2149:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 577, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2149:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2137:22:3" + }, + "returnParameters": { + "id": 584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 581, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 601, + "src": "2183:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 580, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2183:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 583, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 601, + "src": "2189:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2189:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2182:15:3" + }, + "scope": 1486, + "src": "2122:190:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 618, + "nodeType": "Block", + "src": "2449:37:3", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 611, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "2466:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 612, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 606, + "src": "2470:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2466:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 615, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 606, + "src": "2478:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2466:13:3", + "trueExpression": { + "id": 614, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "2474:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 610, + "id": 617, + "nodeType": "Return", + "src": "2459:20:3" + } + ] + }, + "documentation": { + "id": 602, + "nodeType": "StructuredDocumentation", + "src": "2318:59:3", + "text": " @dev Returns the largest of two numbers." + }, + "id": 619, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "max", + "nameLocation": "2391:3:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 604, + "mutability": "mutable", + "name": "a", + "nameLocation": "2403:1:3", + "nodeType": "VariableDeclaration", + "scope": 619, + "src": "2395:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2395:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 606, + "mutability": "mutable", + "name": "b", + "nameLocation": "2414:1:3", + "nodeType": "VariableDeclaration", + "scope": 619, + "src": "2406:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2406:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2394:22:3" + }, + "returnParameters": { + "id": 610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 609, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 619, + "src": "2440:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2440:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:9:3" + }, + "scope": 1486, + "src": "2382:104:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 636, + "nodeType": "Block", + "src": "2624:37:3", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 629, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 622, + "src": "2641:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 630, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 624, + "src": "2645:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2641:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 633, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 624, + "src": "2653:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2641:13:3", + "trueExpression": { + "id": 632, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 622, + "src": "2649:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 628, + "id": 635, + "nodeType": "Return", + "src": "2634:20:3" + } + ] + }, + "documentation": { + "id": 620, + "nodeType": "StructuredDocumentation", + "src": "2492:60:3", + "text": " @dev Returns the smallest of two numbers." + }, + "id": 637, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nameLocation": "2566:3:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 622, + "mutability": "mutable", + "name": "a", + "nameLocation": "2578:1:3", + "nodeType": "VariableDeclaration", + "scope": 637, + "src": "2570:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2570:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 624, + "mutability": "mutable", + "name": "b", + "nameLocation": "2589:1:3", + "nodeType": "VariableDeclaration", + "scope": 637, + "src": "2581:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 623, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2581:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2569:22:3" + }, + "returnParameters": { + "id": 628, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 627, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 637, + "src": "2615:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2615:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2614:9:3" + }, + "scope": 1486, + "src": "2557:104:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 659, + "nodeType": "Block", + "src": "2845:82:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 647, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 640, + "src": "2900:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 648, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 642, + "src": "2904:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2900:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 650, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2899:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 651, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 640, + "src": "2910:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 652, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 642, + "src": "2914:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2910:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 654, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2909:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2919:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2909:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2899:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 646, + "id": 658, + "nodeType": "Return", + "src": "2892:28:3" + } + ] + }, + "documentation": { + "id": 638, + "nodeType": "StructuredDocumentation", + "src": "2667:102:3", + "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." + }, + "id": 660, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "average", + "nameLocation": "2783:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 640, + "mutability": "mutable", + "name": "a", + "nameLocation": "2799:1:3", + "nodeType": "VariableDeclaration", + "scope": 660, + "src": "2791:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2791:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 642, + "mutability": "mutable", + "name": "b", + "nameLocation": "2810:1:3", + "nodeType": "VariableDeclaration", + "scope": 660, + "src": "2802:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 641, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2802:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2790:22:3" + }, + "returnParameters": { + "id": 646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 645, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 660, + "src": "2836:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2836:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2835:9:3" + }, + "scope": 1486, + "src": "2774:153:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 693, + "nodeType": "Block", + "src": "3219:260:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 670, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "3233:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3238:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3233:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 678, + "nodeType": "IfStatement", + "src": "3229:127:3", + "trueBody": { + "id": 677, + "nodeType": "Block", + "src": "3241:115:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 673, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 663, + "src": "3340:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 674, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "3344:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3340:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 669, + "id": 676, + "nodeType": "Return", + "src": "3333:12:3" + } + ] + } + }, + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 679, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 663, + "src": "3444:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3449:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3444:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 683, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 663, + "src": "3458:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3462:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3458:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 686, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3457:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 687, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "3467:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3457:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3471:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3457:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3444:28:3", + "trueExpression": { + "hexValue": "30", + "id": 682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3453:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 669, + "id": 692, + "nodeType": "Return", + "src": "3437:35:3" + } + ] + }, + "documentation": { + "id": 661, + "nodeType": "StructuredDocumentation", + "src": "2933:210:3", + "text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds towards infinity instead\n of rounding towards zero." + }, + "id": 694, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ceilDiv", + "nameLocation": "3157:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 666, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 663, + "mutability": "mutable", + "name": "a", + "nameLocation": "3173:1:3", + "nodeType": "VariableDeclaration", + "scope": 694, + "src": "3165:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3165:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 665, + "mutability": "mutable", + "name": "b", + "nameLocation": "3184:1:3", + "nodeType": "VariableDeclaration", + "scope": 694, + "src": "3176:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 664, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3176:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3164:22:3" + }, + "returnParameters": { + "id": 669, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 668, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 694, + "src": "3210:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 667, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3210:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3209:9:3" + }, + "scope": 1486, + "src": "3148:331:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 819, + "nodeType": "Block", + "src": "3901:4018:3", + "statements": [ + { + "id": 818, + "nodeType": "UncheckedBlock", + "src": "3911:4002:3", + "statements": [ + { + "assignments": [ + 707 + ], + "declarations": [ + { + "constant": false, + "id": 707, + "mutability": "mutable", + "name": "prod0", + "nameLocation": "4240:5:3", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "4232:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 706, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4232:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 711, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 708, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "4248:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 709, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 699, + "src": "4252:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4248:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4232:21:3" + }, + { + "assignments": [ + 713 + ], + "declarations": [ + { + "constant": false, + "id": 713, + "mutability": "mutable", + "name": "prod1", + "nameLocation": "4320:5:3", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "4312:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 712, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4312:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 714, + "nodeType": "VariableDeclarationStatement", + "src": "4312:13:3" + }, + { + "AST": { + "nativeSrc": "4392:122:3", + "nodeType": "YulBlock", + "src": "4392:122:3", + "statements": [ + { + "nativeSrc": "4410:30:3", + "nodeType": "YulVariableDeclaration", + "src": "4410:30:3", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "4427:1:3", + "nodeType": "YulIdentifier", + "src": "4427:1:3" + }, + { + "name": "y", + "nativeSrc": "4430:1:3", + "nodeType": "YulIdentifier", + "src": "4430:1:3" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4437:1:3", + "nodeType": "YulLiteral", + "src": "4437:1:3", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4433:3:3", + "nodeType": "YulIdentifier", + "src": "4433:3:3" + }, + "nativeSrc": "4433:6:3", + "nodeType": "YulFunctionCall", + "src": "4433:6:3" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "4420:6:3", + "nodeType": "YulIdentifier", + "src": "4420:6:3" + }, + "nativeSrc": "4420:20:3", + "nodeType": "YulFunctionCall", + "src": "4420:20:3" + }, + "variables": [ + { + "name": "mm", + "nativeSrc": "4414:2:3", + "nodeType": "YulTypedName", + "src": "4414:2:3", + "type": "" + } + ] + }, + { + "nativeSrc": "4457:43:3", + "nodeType": "YulAssignment", + "src": "4457:43:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "mm", + "nativeSrc": "4474:2:3", + "nodeType": "YulIdentifier", + "src": "4474:2:3" + }, + { + "name": "prod0", + "nativeSrc": "4478:5:3", + "nodeType": "YulIdentifier", + "src": "4478:5:3" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4470:3:3", + "nodeType": "YulIdentifier", + "src": "4470:3:3" + }, + "nativeSrc": "4470:14:3", + "nodeType": "YulFunctionCall", + "src": "4470:14:3" + }, + { + "arguments": [ + { + "name": "mm", + "nativeSrc": "4489:2:3", + "nodeType": "YulIdentifier", + "src": "4489:2:3" + }, + { + "name": "prod0", + "nativeSrc": "4493:5:3", + "nodeType": "YulIdentifier", + "src": "4493:5:3" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "4486:2:3", + "nodeType": "YulIdentifier", + "src": "4486:2:3" + }, + "nativeSrc": "4486:13:3", + "nodeType": "YulFunctionCall", + "src": "4486:13:3" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4466:3:3", + "nodeType": "YulIdentifier", + "src": "4466:3:3" + }, + "nativeSrc": "4466:34:3", + "nodeType": "YulFunctionCall", + "src": "4466:34:3" + }, + "variableNames": [ + { + "name": "prod1", + "nativeSrc": "4457:5:3", + "nodeType": "YulIdentifier", + "src": "4457:5:3" + } + ] + } + ] + }, + "evmVersion": "cancun", + "externalReferences": [ + { + "declaration": 707, + "isOffset": false, + "isSlot": false, + "src": "4478:5:3", + "valueSize": 1 + }, + { + "declaration": 707, + "isOffset": false, + "isSlot": false, + "src": "4493:5:3", + "valueSize": 1 + }, + { + "declaration": 713, + "isOffset": false, + "isSlot": false, + "src": "4457:5:3", + "valueSize": 1 + }, + { + "declaration": 697, + "isOffset": false, + "isSlot": false, + "src": "4427:1:3", + "valueSize": 1 + }, + { + "declaration": 699, + "isOffset": false, + "isSlot": false, + "src": "4430:1:3", + "valueSize": 1 + } + ], + "id": 715, + "nodeType": "InlineAssembly", + "src": "4383:131:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 716, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 713, + "src": "4595:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4604:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4595:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 724, + "nodeType": "IfStatement", + "src": "4591:368:3", + "trueBody": { + "id": 723, + "nodeType": "Block", + "src": "4607:352:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 719, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "4925:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 720, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "4933:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4925:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 705, + "id": 722, + "nodeType": "Return", + "src": "4918:26:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 725, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "5065:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 726, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 713, + "src": "5080:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5065:20:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 732, + "nodeType": "IfStatement", + "src": "5061:88:3", + "trueBody": { + "id": 731, + "nodeType": "Block", + "src": "5087:62:3", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 728, + "name": "MathOverflowedMulDiv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "5112:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5112:22:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 730, + "nodeType": "RevertStatement", + "src": "5105:29:3" + } + ] + } + }, + { + "assignments": [ + 734 + ], + "declarations": [ + { + "constant": false, + "id": 734, + "mutability": "mutable", + "name": "remainder", + "nameLocation": "5412:9:3", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "5404:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 733, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5404:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 735, + "nodeType": "VariableDeclarationStatement", + "src": "5404:17:3" + }, + { + "AST": { + "nativeSrc": "5444:291:3", + "nodeType": "YulBlock", + "src": "5444:291:3", + "statements": [ + { + "nativeSrc": "5513:38:3", + "nodeType": "YulAssignment", + "src": "5513:38:3", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "5533:1:3", + "nodeType": "YulIdentifier", + "src": "5533:1:3" + }, + { + "name": "y", + "nativeSrc": "5536:1:3", + "nodeType": "YulIdentifier", + "src": "5536:1:3" + }, + { + "name": "denominator", + "nativeSrc": "5539:11:3", + "nodeType": "YulIdentifier", + "src": "5539:11:3" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "5526:6:3", + "nodeType": "YulIdentifier", + "src": "5526:6:3" + }, + "nativeSrc": "5526:25:3", + "nodeType": "YulFunctionCall", + "src": "5526:25:3" + }, + "variableNames": [ + { + "name": "remainder", + "nativeSrc": "5513:9:3", + "nodeType": "YulIdentifier", + "src": "5513:9:3" + } + ] + }, + { + "nativeSrc": "5633:41:3", + "nodeType": "YulAssignment", + "src": "5633:41:3", + "value": { + "arguments": [ + { + "name": "prod1", + "nativeSrc": "5646:5:3", + "nodeType": "YulIdentifier", + "src": "5646:5:3" + }, + { + "arguments": [ + { + "name": "remainder", + "nativeSrc": "5656:9:3", + "nodeType": "YulIdentifier", + "src": "5656:9:3" + }, + { + "name": "prod0", + "nativeSrc": "5667:5:3", + "nodeType": "YulIdentifier", + "src": "5667:5:3" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5653:2:3", + "nodeType": "YulIdentifier", + "src": "5653:2:3" + }, + "nativeSrc": "5653:20:3", + "nodeType": "YulFunctionCall", + "src": "5653:20:3" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5642:3:3", + "nodeType": "YulIdentifier", + "src": "5642:3:3" + }, + "nativeSrc": "5642:32:3", + "nodeType": "YulFunctionCall", + "src": "5642:32:3" + }, + "variableNames": [ + { + "name": "prod1", + "nativeSrc": "5633:5:3", + "nodeType": "YulIdentifier", + "src": "5633:5:3" + } + ] + }, + { + "nativeSrc": "5691:30:3", + "nodeType": "YulAssignment", + "src": "5691:30:3", + "value": { + "arguments": [ + { + "name": "prod0", + "nativeSrc": "5704:5:3", + "nodeType": "YulIdentifier", + "src": "5704:5:3" + }, + { + "name": "remainder", + "nativeSrc": "5711:9:3", + "nodeType": "YulIdentifier", + "src": "5711:9:3" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5700:3:3", + "nodeType": "YulIdentifier", + "src": "5700:3:3" + }, + "nativeSrc": "5700:21:3", + "nodeType": "YulFunctionCall", + "src": "5700:21:3" + }, + "variableNames": [ + { + "name": "prod0", + "nativeSrc": "5691:5:3", + "nodeType": "YulIdentifier", + "src": "5691:5:3" + } + ] + } + ] + }, + "evmVersion": "cancun", + "externalReferences": [ + { + "declaration": 701, + "isOffset": false, + "isSlot": false, + "src": "5539:11:3", + "valueSize": 1 + }, + { + "declaration": 707, + "isOffset": false, + "isSlot": false, + "src": "5667:5:3", + "valueSize": 1 + }, + { + "declaration": 707, + "isOffset": false, + "isSlot": false, + "src": "5691:5:3", + "valueSize": 1 + }, + { + "declaration": 707, + "isOffset": false, + "isSlot": false, + "src": "5704:5:3", + "valueSize": 1 + }, + { + "declaration": 713, + "isOffset": false, + "isSlot": false, + "src": "5633:5:3", + "valueSize": 1 + }, + { + "declaration": 713, + "isOffset": false, + "isSlot": false, + "src": "5646:5:3", + "valueSize": 1 + }, + { + "declaration": 734, + "isOffset": false, + "isSlot": false, + "src": "5513:9:3", + "valueSize": 1 + }, + { + "declaration": 734, + "isOffset": false, + "isSlot": false, + "src": "5656:9:3", + "valueSize": 1 + }, + { + "declaration": 734, + "isOffset": false, + "isSlot": false, + "src": "5711:9:3", + "valueSize": 1 + }, + { + "declaration": 697, + "isOffset": false, + "isSlot": false, + "src": "5533:1:3", + "valueSize": 1 + }, + { + "declaration": 699, + "isOffset": false, + "isSlot": false, + "src": "5536:1:3", + "valueSize": 1 + } + ], + "id": 736, + "nodeType": "InlineAssembly", + "src": "5435:300:3" + }, + { + "assignments": [ + 738 + ], + "declarations": [ + { + "constant": false, + "id": 738, + "mutability": "mutable", + "name": "twos", + "nameLocation": "5947:4:3", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "5939:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 737, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5939:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 745, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 739, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "5954:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "30", + "id": 740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5969:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 741, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "5973:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5969:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 743, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5968:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5954:31:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5939:46:3" + }, + { + "AST": { + "nativeSrc": "6008:362:3", + "nodeType": "YulBlock", + "src": "6008:362:3", + "statements": [ + { + "nativeSrc": "6073:37:3", + "nodeType": "YulAssignment", + "src": "6073:37:3", + "value": { + "arguments": [ + { + "name": "denominator", + "nativeSrc": "6092:11:3", + "nodeType": "YulIdentifier", + "src": "6092:11:3" + }, + { + "name": "twos", + "nativeSrc": "6105:4:3", + "nodeType": "YulIdentifier", + "src": "6105:4:3" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6088:3:3", + "nodeType": "YulIdentifier", + "src": "6088:3:3" + }, + "nativeSrc": "6088:22:3", + "nodeType": "YulFunctionCall", + "src": "6088:22:3" + }, + "variableNames": [ + { + "name": "denominator", + "nativeSrc": "6073:11:3", + "nodeType": "YulIdentifier", + "src": "6073:11:3" + } + ] + }, + { + "nativeSrc": "6177:25:3", + "nodeType": "YulAssignment", + "src": "6177:25:3", + "value": { + "arguments": [ + { + "name": "prod0", + "nativeSrc": "6190:5:3", + "nodeType": "YulIdentifier", + "src": "6190:5:3" + }, + { + "name": "twos", + "nativeSrc": "6197:4:3", + "nodeType": "YulIdentifier", + "src": "6197:4:3" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6186:3:3", + "nodeType": "YulIdentifier", + "src": "6186:3:3" + }, + "nativeSrc": "6186:16:3", + "nodeType": "YulFunctionCall", + "src": "6186:16:3" + }, + "variableNames": [ + { + "name": "prod0", + "nativeSrc": "6177:5:3", + "nodeType": "YulIdentifier", + "src": "6177:5:3" + } + ] + }, + { + "nativeSrc": "6317:39:3", + "nodeType": "YulAssignment", + "src": "6317:39:3", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6337:1:3", + "nodeType": "YulLiteral", + "src": "6337:1:3", + "type": "", + "value": "0" + }, + { + "name": "twos", + "nativeSrc": "6340:4:3", + "nodeType": "YulIdentifier", + "src": "6340:4:3" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6333:3:3", + "nodeType": "YulIdentifier", + "src": "6333:3:3" + }, + "nativeSrc": "6333:12:3", + "nodeType": "YulFunctionCall", + "src": "6333:12:3" + }, + { + "name": "twos", + "nativeSrc": "6347:4:3", + "nodeType": "YulIdentifier", + "src": "6347:4:3" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6329:3:3", + "nodeType": "YulIdentifier", + "src": "6329:3:3" + }, + "nativeSrc": "6329:23:3", + "nodeType": "YulFunctionCall", + "src": "6329:23:3" + }, + { + "kind": "number", + "nativeSrc": "6354:1:3", + "nodeType": "YulLiteral", + "src": "6354:1:3", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6325:3:3", + "nodeType": "YulIdentifier", + "src": "6325:3:3" + }, + "nativeSrc": "6325:31:3", + "nodeType": "YulFunctionCall", + "src": "6325:31:3" + }, + "variableNames": [ + { + "name": "twos", + "nativeSrc": "6317:4:3", + "nodeType": "YulIdentifier", + "src": "6317:4:3" + } + ] + } + ] + }, + "evmVersion": "cancun", + "externalReferences": [ + { + "declaration": 701, + "isOffset": false, + "isSlot": false, + "src": "6073:11:3", + "valueSize": 1 + }, + { + "declaration": 701, + "isOffset": false, + "isSlot": false, + "src": "6092:11:3", + "valueSize": 1 + }, + { + "declaration": 707, + "isOffset": false, + "isSlot": false, + "src": "6177:5:3", + "valueSize": 1 + }, + { + "declaration": 707, + "isOffset": false, + "isSlot": false, + "src": "6190:5:3", + "valueSize": 1 + }, + { + "declaration": 738, + "isOffset": false, + "isSlot": false, + "src": "6105:4:3", + "valueSize": 1 + }, + { + "declaration": 738, + "isOffset": false, + "isSlot": false, + "src": "6197:4:3", + "valueSize": 1 + }, + { + "declaration": 738, + "isOffset": false, + "isSlot": false, + "src": "6317:4:3", + "valueSize": 1 + }, + { + "declaration": 738, + "isOffset": false, + "isSlot": false, + "src": "6340:4:3", + "valueSize": 1 + }, + { + "declaration": 738, + "isOffset": false, + "isSlot": false, + "src": "6347:4:3", + "valueSize": 1 + } + ], + "id": 746, + "nodeType": "InlineAssembly", + "src": "5999:371:3" + }, + { + "expression": { + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 747, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "6436:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "|=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 748, + "name": "prod1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 713, + "src": "6445:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 749, + "name": "twos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "6453:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6445:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6436:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 752, + "nodeType": "ExpressionStatement", + "src": "6436:21:3" + }, + { + "assignments": [ + 754 + ], + "declarations": [ + { + "constant": false, + "id": 754, + "mutability": "mutable", + "name": "inverse", + "nameLocation": "6783:7:3", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "6775:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 753, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6775:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 761, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "33", + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6794:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 756, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "6798:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6794:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 758, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6793:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "hexValue": "32", + "id": 759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6813:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "6793:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6775:39:3" + }, + { + "expression": { + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 762, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7031:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7042:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 764, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "7046:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 765, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7060:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7046:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7042:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7031:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 769, + "nodeType": "ExpressionStatement", + "src": "7031:36:3" + }, + { + "expression": { + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 770, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7100:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7111:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 772, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "7115:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 773, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7129:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7115:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7111:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7100:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 777, + "nodeType": "ExpressionStatement", + "src": "7100:36:3" + }, + { + "expression": { + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 778, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7170:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7181:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 780, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "7185:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 781, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7199:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7185:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7181:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7170:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 785, + "nodeType": "ExpressionStatement", + "src": "7170:36:3" + }, + { + "expression": { + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 786, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7240:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7251:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 788, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "7255:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 789, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7269:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7255:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7251:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7240:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 793, + "nodeType": "ExpressionStatement", + "src": "7240:36:3" + }, + { + "expression": { + "id": 800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 794, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7310:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7321:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 796, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "7325:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 797, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7339:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7325:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7321:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7310:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 801, + "nodeType": "ExpressionStatement", + "src": "7310:36:3" + }, + { + "expression": { + "id": 808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 802, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7381:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "*=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7392:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 804, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 701, + "src": "7396:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 805, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7410:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7396:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7392:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7381:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 809, + "nodeType": "ExpressionStatement", + "src": "7381:36:3" + }, + { + "expression": { + "id": 814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 810, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 704, + "src": "7851:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 811, + "name": "prod0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "7860:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 812, + "name": "inverse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "7868:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7860:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7851:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 815, + "nodeType": "ExpressionStatement", + "src": "7851:24:3" + }, + { + "expression": { + "id": 816, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 704, + "src": "7896:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 705, + "id": 817, + "nodeType": "Return", + "src": "7889:13:3" + } + ] + } + ] + }, + "documentation": { + "id": 695, + "nodeType": "StructuredDocumentation", + "src": "3485:313:3", + "text": " @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n denominator == 0.\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n Uniswap Labs also under MIT license." + }, + "id": 820, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mulDiv", + "nameLocation": "3812:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 697, + "mutability": "mutable", + "name": "x", + "nameLocation": "3827:1:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "3819:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 696, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3819:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 699, + "mutability": "mutable", + "name": "y", + "nameLocation": "3838:1:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "3830:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3830:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 701, + "mutability": "mutable", + "name": "denominator", + "nameLocation": "3849:11:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "3841:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3841:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3818:43:3" + }, + "returnParameters": { + "id": 705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 704, + "mutability": "mutable", + "name": "result", + "nameLocation": "3893:6:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "3885:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 703, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3885:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3884:16:3" + }, + "scope": 1486, + "src": "3803:4116:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 862, + "nodeType": "Block", + "src": "8161:192:3", + "statements": [ + { + "assignments": [ + 836 + ], + "declarations": [ + { + "constant": false, + "id": 836, + "mutability": "mutable", + "name": "result", + "nameLocation": "8179:6:3", + "nodeType": "VariableDeclaration", + "scope": 862, + "src": "8171:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8171:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 842, + "initialValue": { + "arguments": [ + { + "id": 838, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 823, + "src": "8195:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 839, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "8198:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 840, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 827, + "src": "8201:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 837, + "name": "mulDiv", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 820, + 863 + ], + "referencedDeclaration": 820, + "src": "8188:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8188:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8171:42:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 844, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "8244:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + ], + "id": 843, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "8227:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8227:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 847, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 823, + "src": "8264:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 848, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "8267:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 849, + "name": "denominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 827, + "src": "8270:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 846, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967280, + "src": "8257:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8257:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 851, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8285:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8257:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8227:59:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 859, + "nodeType": "IfStatement", + "src": "8223:101:3", + "trueBody": { + "id": 858, + "nodeType": "Block", + "src": "8288:36:3", + "statements": [ + { + "expression": { + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 854, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 836, + "src": "8302:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8312:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8302:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 857, + "nodeType": "ExpressionStatement", + "src": "8302:11:3" + } + ] + } + }, + { + "expression": { + "id": 860, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 836, + "src": "8340:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 834, + "id": 861, + "nodeType": "Return", + "src": "8333:13:3" + } + ] + }, + "documentation": { + "id": 821, + "nodeType": "StructuredDocumentation", + "src": "7925:121:3", + "text": " @notice Calculates x * y / denominator with full precision, following the selected rounding direction." + }, + "id": 863, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mulDiv", + "nameLocation": "8060:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 823, + "mutability": "mutable", + "name": "x", + "nameLocation": "8075:1:3", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "8067:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8067:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 825, + "mutability": "mutable", + "name": "y", + "nameLocation": "8086:1:3", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "8078:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8078:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 827, + "mutability": "mutable", + "name": "denominator", + "nameLocation": "8097:11:3", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "8089:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 826, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8089:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 830, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "8119:8:3", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "8110:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 829, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 828, + "name": "Rounding", + "nameLocations": [ + "8110:8:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 443, + "src": "8110:8:3" + }, + "referencedDeclaration": 443, + "src": "8110:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "8066:62:3" + }, + "returnParameters": { + "id": 834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 833, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "8152:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 832, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8152:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8151:9:3" + }, + "scope": 1486, + "src": "8051:302:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 974, + "nodeType": "Block", + "src": "8644:1585:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 871, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "8658:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8663:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8658:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 877, + "nodeType": "IfStatement", + "src": "8654:45:3", + "trueBody": { + "id": 876, + "nodeType": "Block", + "src": "8666:33:3", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8687:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 870, + "id": 875, + "nodeType": "Return", + "src": "8680:8:3" + } + ] + } + }, + { + "assignments": [ + 879 + ], + "declarations": [ + { + "constant": false, + "id": 879, + "mutability": "mutable", + "name": "result", + "nameLocation": "9386:6:3", + "nodeType": "VariableDeclaration", + "scope": 974, + "src": "9378:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9378:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 888, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 880, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9395:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 882, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "9406:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 881, + "name": "log2", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1142, + 1177 + ], + "referencedDeclaration": 1142, + "src": "9401:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9401:7:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9412:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9401:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 886, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9400:14:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9395:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9378:36:3" + }, + { + "id": 973, + "nodeType": "UncheckedBlock", + "src": "9815:408:3", + "statements": [ + { + "expression": { + "id": 898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 889, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9839:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 890, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9849:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 891, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "9858:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 892, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9862:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9858:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9849:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 895, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9848:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9873:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9848:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9839:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 899, + "nodeType": "ExpressionStatement", + "src": "9839:35:3" + }, + { + "expression": { + "id": 909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 900, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9888:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 901, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9898:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 902, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "9907:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 903, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9911:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9907:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9898:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 906, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9897:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9922:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9897:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9888:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 910, + "nodeType": "ExpressionStatement", + "src": "9888:35:3" + }, + { + "expression": { + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 911, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9937:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 912, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9947:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 913, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "9956:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 914, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9960:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9956:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9947:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 917, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9946:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9971:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9946:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9937:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 921, + "nodeType": "ExpressionStatement", + "src": "9937:35:3" + }, + { + "expression": { + "id": 931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 922, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9986:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 923, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "9996:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 924, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "10005:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 925, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10009:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10005:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9996:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 928, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9995:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10020:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9995:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9986:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 932, + "nodeType": "ExpressionStatement", + "src": "9986:35:3" + }, + { + "expression": { + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 933, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10035:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 934, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10045:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 935, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "10054:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 936, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10058:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10054:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10045:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 939, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10044:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10069:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10044:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10035:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 943, + "nodeType": "ExpressionStatement", + "src": "10035:35:3" + }, + { + "expression": { + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 944, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10084:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 945, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10094:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 946, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "10103:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 947, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10107:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10103:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10094:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 950, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10093:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10118:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10093:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10084:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 954, + "nodeType": "ExpressionStatement", + "src": "10084:35:3" + }, + { + "expression": { + "id": 964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 955, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10133:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 956, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10143:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 957, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "10152:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 958, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10156:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10152:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10143:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 961, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10142:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10167:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10142:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10133:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 965, + "nodeType": "ExpressionStatement", + "src": "10133:35:3" + }, + { + "expression": { + "arguments": [ + { + "id": 967, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10193:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 968, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "10201:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 969, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 879, + "src": "10205:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10201:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 966, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 637, + "src": "10189:3:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10189:23:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 870, + "id": 972, + "nodeType": "Return", + "src": "10182:30:3" + } + ] + } + ] + }, + "documentation": { + "id": 864, + "nodeType": "StructuredDocumentation", + "src": "8359:223:3", + "text": " @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n towards zero.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)." + }, + "id": 975, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sqrt", + "nameLocation": "8596:4:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 867, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 866, + "mutability": "mutable", + "name": "a", + "nameLocation": "8609:1:3", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "8601:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8601:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8600:11:3" + }, + "returnParameters": { + "id": 870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 869, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "8635:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 868, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8635:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8634:9:3" + }, + "scope": 1486, + "src": "8587:1642:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1009, + "nodeType": "Block", + "src": "10405:164:3", + "statements": [ + { + "id": 1008, + "nodeType": "UncheckedBlock", + "src": "10415:148:3", + "statements": [ + { + "assignments": [ + 987 + ], + "declarations": [ + { + "constant": false, + "id": 987, + "mutability": "mutable", + "name": "result", + "nameLocation": "10447:6:3", + "nodeType": "VariableDeclaration", + "scope": 1008, + "src": "10439:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10439:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 991, + "initialValue": { + "arguments": [ + { + "id": 989, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 978, + "src": "10461:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 988, + "name": "sqrt", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 975, + 1010 + ], + "referencedDeclaration": 975, + "src": "10456:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10456:7:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10439:24:3" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 992, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "10484:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 994, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 981, + "src": "10511:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + ], + "id": 993, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "10494:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10494:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 996, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "10524:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 997, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "10533:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10524:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 999, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 978, + "src": "10542:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10524:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10494:49:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30", + "id": 1003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10550:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 1004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "10494:57:3", + "trueExpression": { + "hexValue": "31", + "id": 1002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10546:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1005, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10493:59:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "10484:68:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 985, + "id": 1007, + "nodeType": "Return", + "src": "10477:75:3" + } + ] + } + ] + }, + "documentation": { + "id": 976, + "nodeType": "StructuredDocumentation", + "src": "10235:89:3", + "text": " @notice Calculates sqrt(a), following the selected rounding direction." + }, + "id": 1010, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sqrt", + "nameLocation": "10338:4:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 978, + "mutability": "mutable", + "name": "a", + "nameLocation": "10351:1:3", + "nodeType": "VariableDeclaration", + "scope": 1010, + "src": "10343:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10343:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 981, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "10363:8:3", + "nodeType": "VariableDeclaration", + "scope": 1010, + "src": "10354:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 980, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 979, + "name": "Rounding", + "nameLocations": [ + "10354:8:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 443, + "src": "10354:8:3" + }, + "referencedDeclaration": 443, + "src": "10354:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "10342:30:3" + }, + "returnParameters": { + "id": 985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 984, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1010, + "src": "10396:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10396:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10395:9:3" + }, + "scope": 1486, + "src": "10329:240:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1141, + "nodeType": "Block", + "src": "10760:922:3", + "statements": [ + { + "assignments": [ + 1019 + ], + "declarations": [ + { + "constant": false, + "id": 1019, + "mutability": "mutable", + "name": "result", + "nameLocation": "10778:6:3", + "nodeType": "VariableDeclaration", + "scope": 1141, + "src": "10770:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1018, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10770:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1021, + "initialValue": { + "hexValue": "30", + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10787:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10770:18:3" + }, + { + "id": 1138, + "nodeType": "UncheckedBlock", + "src": "10798:855:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1022, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "10826:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "313238", + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10835:3:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "10826:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10841:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10826:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1036, + "nodeType": "IfStatement", + "src": "10822:99:3", + "trueBody": { + "id": 1035, + "nodeType": "Block", + "src": "10844:77:3", + "statements": [ + { + "expression": { + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1027, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "10862:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "313238", + "id": 1028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10872:3:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "10862:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1030, + "nodeType": "ExpressionStatement", + "src": "10862:13:3" + }, + { + "expression": { + "id": 1033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1031, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "10893:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "313238", + "id": 1032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10903:3:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "10893:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1034, + "nodeType": "ExpressionStatement", + "src": "10893:13:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1037, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "10938:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3634", + "id": 1038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10947:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "10938:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10952:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10938:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1051, + "nodeType": "IfStatement", + "src": "10934:96:3", + "trueBody": { + "id": 1050, + "nodeType": "Block", + "src": "10955:75:3", + "statements": [ + { + "expression": { + "id": 1044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1042, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "10973:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3634", + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10983:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "10973:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1045, + "nodeType": "ExpressionStatement", + "src": "10973:12:3" + }, + { + "expression": { + "id": 1048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1046, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11003:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3634", + "id": 1047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11013:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "11003:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1049, + "nodeType": "ExpressionStatement", + "src": "11003:12:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1052, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11047:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3332", + "id": 1053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11056:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "11047:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11061:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11047:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1066, + "nodeType": "IfStatement", + "src": "11043:96:3", + "trueBody": { + "id": 1065, + "nodeType": "Block", + "src": "11064:75:3", + "statements": [ + { + "expression": { + "id": 1059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1057, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11082:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3332", + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11092:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "11082:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1060, + "nodeType": "ExpressionStatement", + "src": "11082:12:3" + }, + { + "expression": { + "id": 1063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1061, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11112:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11122:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "11112:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1064, + "nodeType": "ExpressionStatement", + "src": "11112:12:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1067, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11156:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3136", + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11165:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "11156:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11170:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11156:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1081, + "nodeType": "IfStatement", + "src": "11152:96:3", + "trueBody": { + "id": 1080, + "nodeType": "Block", + "src": "11173:75:3", + "statements": [ + { + "expression": { + "id": 1074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1072, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11191:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3136", + "id": 1073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11201:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "11191:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1075, + "nodeType": "ExpressionStatement", + "src": "11191:12:3" + }, + { + "expression": { + "id": 1078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1076, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11221:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3136", + "id": 1077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11231:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "11221:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1079, + "nodeType": "ExpressionStatement", + "src": "11221:12:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1082, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11265:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "38", + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11274:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "11265:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11278:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11265:14:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1096, + "nodeType": "IfStatement", + "src": "11261:93:3", + "trueBody": { + "id": 1095, + "nodeType": "Block", + "src": "11281:73:3", + "statements": [ + { + "expression": { + "id": 1089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1087, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11299:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "38", + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11309:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "11299:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1090, + "nodeType": "ExpressionStatement", + "src": "11299:11:3" + }, + { + "expression": { + "id": 1093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1091, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11328:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "38", + "id": 1092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11338:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "11328:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1094, + "nodeType": "ExpressionStatement", + "src": "11328:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1097, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11371:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "34", + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11380:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "11371:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11384:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11371:14:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1111, + "nodeType": "IfStatement", + "src": "11367:93:3", + "trueBody": { + "id": 1110, + "nodeType": "Block", + "src": "11387:73:3", + "statements": [ + { + "expression": { + "id": 1104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1102, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11405:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 1103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11415:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "11405:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1105, + "nodeType": "ExpressionStatement", + "src": "11405:11:3" + }, + { + "expression": { + "id": 1108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1106, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11434:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "34", + "id": 1107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11444:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "11434:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1109, + "nodeType": "ExpressionStatement", + "src": "11434:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1112, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11477:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "32", + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11486:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "11477:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11490:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11477:14:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1126, + "nodeType": "IfStatement", + "src": "11473:93:3", + "trueBody": { + "id": 1125, + "nodeType": "Block", + "src": "11493:73:3", + "statements": [ + { + "expression": { + "id": 1119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1117, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11511:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "32", + "id": 1118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11521:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "11511:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1120, + "nodeType": "ExpressionStatement", + "src": "11511:11:3" + }, + { + "expression": { + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1121, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11540:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 1122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11550:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "11540:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1124, + "nodeType": "ExpressionStatement", + "src": "11540:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1127, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11583:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11592:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11583:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11596:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11583:14:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1137, + "nodeType": "IfStatement", + "src": "11579:64:3", + "trueBody": { + "id": 1136, + "nodeType": "Block", + "src": "11599:44:3", + "statements": [ + { + "expression": { + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1132, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11617:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11627:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11617:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1135, + "nodeType": "ExpressionStatement", + "src": "11617:11:3" + } + ] + } + } + ] + }, + { + "expression": { + "id": 1139, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11669:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1017, + "id": 1140, + "nodeType": "Return", + "src": "11662:13:3" + } + ] + }, + "documentation": { + "id": 1011, + "nodeType": "StructuredDocumentation", + "src": "10575:119:3", + "text": " @dev Return the log in base 2 of a positive value rounded towards zero.\n Returns 0 if given 0." + }, + "id": 1142, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log2", + "nameLocation": "10708:4:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1013, + "mutability": "mutable", + "name": "value", + "nameLocation": "10721:5:3", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "10713:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1012, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10713:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10712:15:3" + }, + "returnParameters": { + "id": 1017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1016, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "10751:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1015, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10751:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10750:9:3" + }, + "scope": 1486, + "src": "10699:983:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1176, + "nodeType": "Block", + "src": "11915:168:3", + "statements": [ + { + "id": 1175, + "nodeType": "UncheckedBlock", + "src": "11925:152:3", + "statements": [ + { + "assignments": [ + 1154 + ], + "declarations": [ + { + "constant": false, + "id": 1154, + "mutability": "mutable", + "name": "result", + "nameLocation": "11957:6:3", + "nodeType": "VariableDeclaration", + "scope": 1175, + "src": "11949:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1153, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11949:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1158, + "initialValue": { + "arguments": [ + { + "id": 1156, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1145, + "src": "11971:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1155, + "name": "log2", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1142, + 1177 + ], + "referencedDeclaration": 1142, + "src": "11966:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11966:11:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11949:28:3" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1159, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1154, + "src": "11998:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1161, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1148, + "src": "12025:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + ], + "id": 1160, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "12008:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12008:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 1163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12038:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "id": 1164, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1154, + "src": "12043:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12038:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1166, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1145, + "src": "12052:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12038:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12008:49:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30", + "id": 1170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12064:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 1171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "12008:57:3", + "trueExpression": { + "hexValue": "31", + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12060:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1172, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12007:59:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "11998:68:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1152, + "id": 1174, + "nodeType": "Return", + "src": "11991:75:3" + } + ] + } + ] + }, + "documentation": { + "id": 1143, + "nodeType": "StructuredDocumentation", + "src": "11688:142:3", + "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 1177, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log2", + "nameLocation": "11844:4:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1145, + "mutability": "mutable", + "name": "value", + "nameLocation": "11857:5:3", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "11849:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1144, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11849:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1148, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "11873:8:3", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "11864:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 1147, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1146, + "name": "Rounding", + "nameLocations": [ + "11864:8:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 443, + "src": "11864:8:3" + }, + "referencedDeclaration": 443, + "src": "11864:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "11848:34:3" + }, + "returnParameters": { + "id": 1152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1151, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "11906:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1150, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11906:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11905:9:3" + }, + "scope": 1486, + "src": "11835:248:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1305, + "nodeType": "Block", + "src": "12276:854:3", + "statements": [ + { + "assignments": [ + 1186 + ], + "declarations": [ + { + "constant": false, + "id": 1186, + "mutability": "mutable", + "name": "result", + "nameLocation": "12294:6:3", + "nodeType": "VariableDeclaration", + "scope": 1305, + "src": "12286:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12286:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1188, + "initialValue": { + "hexValue": "30", + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12303:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12286:18:3" + }, + { + "id": 1302, + "nodeType": "UncheckedBlock", + "src": "12314:787:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1189, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12342:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + }, + "id": 1192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12351:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3634", + "id": 1191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12357:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "12351:8:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + } + }, + "src": "12342:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1205, + "nodeType": "IfStatement", + "src": "12338:103:3", + "trueBody": { + "id": 1204, + "nodeType": "Block", + "src": "12361:80:3", + "statements": [ + { + "expression": { + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1194, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12379:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12388:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3634", + "id": 1196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12394:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "12388:8:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(57 digits omitted)...0000" + } + }, + "src": "12379:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1199, + "nodeType": "ExpressionStatement", + "src": "12379:17:3" + }, + { + "expression": { + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1200, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "12414:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3634", + "id": 1201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12424:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "12414:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1203, + "nodeType": "ExpressionStatement", + "src": "12414:12:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1206, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12458:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + }, + "id": 1209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12467:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3332", + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12473:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "12467:8:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + } + }, + "src": "12458:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1222, + "nodeType": "IfStatement", + "src": "12454:103:3", + "trueBody": { + "id": 1221, + "nodeType": "Block", + "src": "12477:80:3", + "statements": [ + { + "expression": { + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1211, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12495:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + }, + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12504:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3332", + "id": 1213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12510:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "12504:8:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", + "typeString": "int_const 1000...(25 digits omitted)...0000" + } + }, + "src": "12495:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1216, + "nodeType": "ExpressionStatement", + "src": "12495:17:3" + }, + { + "expression": { + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1217, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "12530:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12540:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "12530:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1220, + "nodeType": "ExpressionStatement", + "src": "12530:12:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1223, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12574:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12583:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3136", + "id": 1225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12589:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "12583:8:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + } + }, + "src": "12574:17:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1239, + "nodeType": "IfStatement", + "src": "12570:103:3", + "trueBody": { + "id": 1238, + "nodeType": "Block", + "src": "12593:80:3", + "statements": [ + { + "expression": { + "id": 1232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1228, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12611:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + }, + "id": 1231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12620:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3136", + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12626:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "12620:8:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000_by_1", + "typeString": "int_const 10000000000000000" + } + }, + "src": "12611:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1233, + "nodeType": "ExpressionStatement", + "src": "12611:17:3" + }, + { + "expression": { + "id": 1236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1234, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "12646:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3136", + "id": 1235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12656:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "12646:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1237, + "nodeType": "ExpressionStatement", + "src": "12646:12:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1240, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12690:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + }, + "id": 1243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12699:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "38", + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12705:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12699:7:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + } + }, + "src": "12690:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1256, + "nodeType": "IfStatement", + "src": "12686:100:3", + "trueBody": { + "id": 1255, + "nodeType": "Block", + "src": "12708:78:3", + "statements": [ + { + "expression": { + "id": 1249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1245, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12726:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12735:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "38", + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12741:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12735:7:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000_by_1", + "typeString": "int_const 100000000" + } + }, + "src": "12726:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1250, + "nodeType": "ExpressionStatement", + "src": "12726:16:3" + }, + { + "expression": { + "id": 1253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1251, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "12760:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "38", + "id": 1252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12770:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12760:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1254, + "nodeType": "ExpressionStatement", + "src": "12760:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1257, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12803:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12812:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "34", + "id": 1259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12818:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "12812:7:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + } + }, + "src": "12803:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1273, + "nodeType": "IfStatement", + "src": "12799:100:3", + "trueBody": { + "id": 1272, + "nodeType": "Block", + "src": "12821:78:3", + "statements": [ + { + "expression": { + "id": 1266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1262, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12839:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "id": 1265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12848:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "34", + "id": 1264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12854:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "12848:7:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + } + }, + "src": "12839:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1267, + "nodeType": "ExpressionStatement", + "src": "12839:16:3" + }, + { + "expression": { + "id": 1270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1268, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "12873:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "34", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12883:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "12873:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1271, + "nodeType": "ExpressionStatement", + "src": "12873:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1274, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12916:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12925:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "32", + "id": 1276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12931:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "12925:7:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + }, + "src": "12916:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1290, + "nodeType": "IfStatement", + "src": "12912:100:3", + "trueBody": { + "id": 1289, + "nodeType": "Block", + "src": "12934:78:3", + "statements": [ + { + "expression": { + "id": 1283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1279, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "12952:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "id": 1282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12961:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "32", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12967:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "12961:7:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + } + }, + "src": "12952:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1284, + "nodeType": "ExpressionStatement", + "src": "12952:16:3" + }, + { + "expression": { + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1285, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "12986:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12996:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "12986:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1288, + "nodeType": "ExpressionStatement", + "src": "12986:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1291, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "13029:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13038:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "31", + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13044:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13038:7:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + } + }, + "src": "13029:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1301, + "nodeType": "IfStatement", + "src": "13025:66:3", + "trueBody": { + "id": 1300, + "nodeType": "Block", + "src": "13047:44:3", + "statements": [ + { + "expression": { + "id": 1298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1296, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "13065:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 1297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13075:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13065:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1299, + "nodeType": "ExpressionStatement", + "src": "13065:11:3" + } + ] + } + } + ] + }, + { + "expression": { + "id": 1303, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "13117:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1184, + "id": 1304, + "nodeType": "Return", + "src": "13110:13:3" + } + ] + }, + "documentation": { + "id": 1178, + "nodeType": "StructuredDocumentation", + "src": "12089:120:3", + "text": " @dev Return the log in base 10 of a positive value rounded towards zero.\n Returns 0 if given 0." + }, + "id": 1306, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log10", + "nameLocation": "12223:5:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1180, + "mutability": "mutable", + "name": "value", + "nameLocation": "12237:5:3", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "12229:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1179, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12229:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12228:15:3" + }, + "returnParameters": { + "id": 1184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1183, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "12267:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12267:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12266:9:3" + }, + "scope": 1486, + "src": "12214:916:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1340, + "nodeType": "Block", + "src": "13365:170:3", + "statements": [ + { + "id": 1339, + "nodeType": "UncheckedBlock", + "src": "13375:154:3", + "statements": [ + { + "assignments": [ + 1318 + ], + "declarations": [ + { + "constant": false, + "id": 1318, + "mutability": "mutable", + "name": "result", + "nameLocation": "13407:6:3", + "nodeType": "VariableDeclaration", + "scope": 1339, + "src": "13399:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1317, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13399:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1322, + "initialValue": { + "arguments": [ + { + "id": 1320, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "13422:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1319, + "name": "log10", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1306, + 1341 + ], + "referencedDeclaration": 1306, + "src": "13416:5:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13416:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13399:29:3" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1323, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "13449:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1325, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "13476:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + ], + "id": 1324, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "13459:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13459:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13489:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "id": 1328, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "13495:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13489:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1330, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "13504:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13489:20:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13459:50:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30", + "id": 1334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13516:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 1335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "13459:58:3", + "trueExpression": { + "hexValue": "31", + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13512:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1336, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13458:60:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13449:69:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1316, + "id": 1338, + "nodeType": "Return", + "src": "13442:76:3" + } + ] + } + ] + }, + "documentation": { + "id": 1307, + "nodeType": "StructuredDocumentation", + "src": "13136:143:3", + "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 1341, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log10", + "nameLocation": "13293:5:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1313, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1309, + "mutability": "mutable", + "name": "value", + "nameLocation": "13307:5:3", + "nodeType": "VariableDeclaration", + "scope": 1341, + "src": "13299:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1308, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13299:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1312, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "13323:8:3", + "nodeType": "VariableDeclaration", + "scope": 1341, + "src": "13314:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 1311, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1310, + "name": "Rounding", + "nameLocations": [ + "13314:8:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 443, + "src": "13314:8:3" + }, + "referencedDeclaration": 443, + "src": "13314:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "13298:34:3" + }, + "returnParameters": { + "id": 1316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1315, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1341, + "src": "13356:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13356:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13355:9:3" + }, + "scope": 1486, + "src": "13284:251:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1427, + "nodeType": "Block", + "src": "13855:600:3", + "statements": [ + { + "assignments": [ + 1350 + ], + "declarations": [ + { + "constant": false, + "id": 1350, + "mutability": "mutable", + "name": "result", + "nameLocation": "13873:6:3", + "nodeType": "VariableDeclaration", + "scope": 1427, + "src": "13865:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13865:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1352, + "initialValue": { + "hexValue": "30", + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13882:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "13865:18:3" + }, + { + "id": 1424, + "nodeType": "UncheckedBlock", + "src": "13893:533:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1353, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "13921:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "313238", + "id": 1354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13930:3:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "13921:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13936:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13921:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1367, + "nodeType": "IfStatement", + "src": "13917:98:3", + "trueBody": { + "id": 1366, + "nodeType": "Block", + "src": "13939:76:3", + "statements": [ + { + "expression": { + "id": 1360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1358, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "13957:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "313238", + "id": 1359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13967:3:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "13957:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1361, + "nodeType": "ExpressionStatement", + "src": "13957:13:3" + }, + { + "expression": { + "id": 1364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1362, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1350, + "src": "13988:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3136", + "id": 1363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13998:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "13988:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1365, + "nodeType": "ExpressionStatement", + "src": "13988:12:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1368, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "14032:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3634", + "id": 1369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14041:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "14032:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14046:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14032:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1382, + "nodeType": "IfStatement", + "src": "14028:95:3", + "trueBody": { + "id": 1381, + "nodeType": "Block", + "src": "14049:74:3", + "statements": [ + { + "expression": { + "id": 1375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1373, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "14067:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3634", + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14077:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "src": "14067:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1376, + "nodeType": "ExpressionStatement", + "src": "14067:12:3" + }, + { + "expression": { + "id": 1379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1377, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1350, + "src": "14097:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "38", + "id": 1378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14107:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "14097:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1380, + "nodeType": "ExpressionStatement", + "src": "14097:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1383, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "14140:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3332", + "id": 1384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14149:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "14140:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14154:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14140:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1397, + "nodeType": "IfStatement", + "src": "14136:95:3", + "trueBody": { + "id": 1396, + "nodeType": "Block", + "src": "14157:74:3", + "statements": [ + { + "expression": { + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1388, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "14175:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3332", + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14185:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "14175:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1391, + "nodeType": "ExpressionStatement", + "src": "14175:12:3" + }, + { + "expression": { + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1392, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1350, + "src": "14205:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "34", + "id": 1393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14215:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "14205:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1395, + "nodeType": "ExpressionStatement", + "src": "14205:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1398, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "14248:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "3136", + "id": 1399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14257:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "14248:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14262:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14248:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1412, + "nodeType": "IfStatement", + "src": "14244:95:3", + "trueBody": { + "id": 1411, + "nodeType": "Block", + "src": "14265:74:3", + "statements": [ + { + "expression": { + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1403, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "14283:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "3136", + "id": 1404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14293:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "14283:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1406, + "nodeType": "ExpressionStatement", + "src": "14283:12:3" + }, + { + "expression": { + "id": 1409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1407, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1350, + "src": "14313:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "32", + "id": 1408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14323:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "14313:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1410, + "nodeType": "ExpressionStatement", + "src": "14313:11:3" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1413, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1344, + "src": "14356:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "38", + "id": 1414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14365:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "14356:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14369:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14356:14:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1423, + "nodeType": "IfStatement", + "src": "14352:64:3", + "trueBody": { + "id": 1422, + "nodeType": "Block", + "src": "14372:44:3", + "statements": [ + { + "expression": { + "id": 1420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1418, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1350, + "src": "14390:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 1419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14400:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "14390:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1421, + "nodeType": "ExpressionStatement", + "src": "14390:11:3" + } + ] + } + } + ] + }, + { + "expression": { + "id": 1425, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1350, + "src": "14442:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1348, + "id": 1426, + "nodeType": "Return", + "src": "14435:13:3" + } + ] + }, + "documentation": { + "id": 1342, + "nodeType": "StructuredDocumentation", + "src": "13541:246:3", + "text": " @dev Return the log in base 256 of a positive value rounded towards zero.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string." + }, + "id": 1428, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log256", + "nameLocation": "13801:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1344, + "mutability": "mutable", + "name": "value", + "nameLocation": "13816:5:3", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "13808:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1343, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13808:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13807:15:3" + }, + "returnParameters": { + "id": 1348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1347, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "13846:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13846:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13845:9:3" + }, + "scope": 1486, + "src": "13792:663:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1465, + "nodeType": "Block", + "src": "14692:177:3", + "statements": [ + { + "id": 1464, + "nodeType": "UncheckedBlock", + "src": "14702:161:3", + "statements": [ + { + "assignments": [ + 1440 + ], + "declarations": [ + { + "constant": false, + "id": 1440, + "mutability": "mutable", + "name": "result", + "nameLocation": "14734:6:3", + "nodeType": "VariableDeclaration", + "scope": 1464, + "src": "14726:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1439, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14726:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1444, + "initialValue": { + "arguments": [ + { + "id": 1442, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "14750:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1441, + "name": "log256", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1428, + 1466 + ], + "referencedDeclaration": 1428, + "src": "14743:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14743:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14726:30:3" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1445, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1440, + "src": "14777:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1447, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1434, + "src": "14804:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + ], + "id": 1446, + "name": "unsignedRoundsUp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "14787:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", + "typeString": "function (enum Math.Rounding) pure returns (bool)" + } + }, + "id": 1448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14787:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 1449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14817:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1450, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1440, + "src": "14823:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "33", + "id": 1451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14833:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "14823:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1453, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14822:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14817:18:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1455, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "14838:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14817:26:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14787:56:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30", + "id": 1459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14850:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 1460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "14787:64:3", + "trueExpression": { + "hexValue": "31", + "id": 1458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14846:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1461, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14786:66:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "14777:75:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1438, + "id": 1463, + "nodeType": "Return", + "src": "14770:82:3" + } + ] + } + ] + }, + "documentation": { + "id": 1429, + "nodeType": "StructuredDocumentation", + "src": "14461:144:3", + "text": " @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." + }, + "id": 1466, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log256", + "nameLocation": "14619:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1431, + "mutability": "mutable", + "name": "value", + "nameLocation": "14634:5:3", + "nodeType": "VariableDeclaration", + "scope": 1466, + "src": "14626:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14626:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1434, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "14650:8:3", + "nodeType": "VariableDeclaration", + "scope": 1466, + "src": "14641:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 1433, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1432, + "name": "Rounding", + "nameLocations": [ + "14641:8:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 443, + "src": "14641:8:3" + }, + "referencedDeclaration": 443, + "src": "14641:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "14625:34:3" + }, + "returnParameters": { + "id": 1438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1437, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1466, + "src": "14683:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14683:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14682:9:3" + }, + "scope": 1486, + "src": "14610:259:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1484, + "nodeType": "Block", + "src": "15067:48:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1477, + "name": "rounding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1470, + "src": "15090:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + ], + "id": 1476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15084:5:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1475, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "15084:5:3", + "typeDescriptions": {} + } + }, + "id": 1478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15084:15:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "32", + "id": 1479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15102:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "15084:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 1481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15107:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "15084:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1474, + "id": 1483, + "nodeType": "Return", + "src": "15077:31:3" + } + ] + }, + "documentation": { + "id": 1467, + "nodeType": "StructuredDocumentation", + "src": "14875:113:3", + "text": " @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers." + }, + "id": 1485, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unsignedRoundsUp", + "nameLocation": "15002:16:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1470, + "mutability": "mutable", + "name": "rounding", + "nameLocation": "15028:8:3", + "nodeType": "VariableDeclaration", + "scope": 1485, + "src": "15019:17:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + }, + "typeName": { + "id": 1469, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1468, + "name": "Rounding", + "nameLocations": [ + "15019:8:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 443, + "src": "15019:8:3" + }, + "referencedDeclaration": 443, + "src": "15019:8:3", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Rounding_$443", + "typeString": "enum Math.Rounding" + } + }, + "visibility": "internal" + } + ], + "src": "15018:19:3" + }, + "returnParameters": { + "id": 1474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1473, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1485, + "src": "15061:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1472, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15061:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15060:6:3" + }, + "scope": 1486, + "src": "14993:122:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1487, + "src": "203:14914:3", + "usedErrors": [ + 438 + ], + "usedEvents": [] + } + ], + "src": "103:15015:3" + }, + "id": 3 + }, + "@openzeppelin/contracts/utils/math/SignedMath.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", + "exportedSymbols": { + "SignedMath": [ + 1591 + ] + }, + "id": 1592, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1488, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "109:24:4" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "SignedMath", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1489, + "nodeType": "StructuredDocumentation", + "src": "135:80:4", + "text": " @dev Standard signed math utilities missing in the Solidity language." + }, + "fullyImplemented": true, + "id": 1591, + "linearizedBaseContracts": [ + 1591 + ], + "name": "SignedMath", + "nameLocation": "224:10:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1506, + "nodeType": "Block", + "src": "376:37:4", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1499, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "393:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1500, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "397:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "393:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 1503, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "405:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 1504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "393:13:4", + "trueExpression": { + "id": 1502, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "401:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1498, + "id": 1505, + "nodeType": "Return", + "src": "386:20:4" + } + ] + }, + "documentation": { + "id": 1490, + "nodeType": "StructuredDocumentation", + "src": "241:66:4", + "text": " @dev Returns the largest of two signed numbers." + }, + "id": 1507, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "max", + "nameLocation": "321:3:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1495, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1492, + "mutability": "mutable", + "name": "a", + "nameLocation": "332:1:4", + "nodeType": "VariableDeclaration", + "scope": 1507, + "src": "325:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1491, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "325:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1494, + "mutability": "mutable", + "name": "b", + "nameLocation": "342:1:4", + "nodeType": "VariableDeclaration", + "scope": 1507, + "src": "335:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1493, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "335:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "324:20:4" + }, + "returnParameters": { + "id": 1498, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1497, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1507, + "src": "368:6:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1496, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "368:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "367:8:4" + }, + "scope": 1591, + "src": "312:101:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1524, + "nodeType": "Block", + "src": "555:37:4", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1517, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "572:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1518, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "576:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "572:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 1521, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "584:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 1522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "572:13:4", + "trueExpression": { + "id": 1520, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "580:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1516, + "id": 1523, + "nodeType": "Return", + "src": "565:20:4" + } + ] + }, + "documentation": { + "id": 1508, + "nodeType": "StructuredDocumentation", + "src": "419:67:4", + "text": " @dev Returns the smallest of two signed numbers." + }, + "id": 1525, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nameLocation": "500:3:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1510, + "mutability": "mutable", + "name": "a", + "nameLocation": "511:1:4", + "nodeType": "VariableDeclaration", + "scope": 1525, + "src": "504:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1509, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "504:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1512, + "mutability": "mutable", + "name": "b", + "nameLocation": "521:1:4", + "nodeType": "VariableDeclaration", + "scope": 1525, + "src": "514:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1511, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "514:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "503:20:4" + }, + "returnParameters": { + "id": 1516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1515, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1525, + "src": "547:6:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1514, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "547:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "546:8:4" + }, + "scope": 1591, + "src": "491:101:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1568, + "nodeType": "Block", + "src": "797:162:4", + "statements": [ + { + "assignments": [ + 1536 + ], + "declarations": [ + { + "constant": false, + "id": 1536, + "mutability": "mutable", + "name": "x", + "nameLocation": "866:1:4", + "nodeType": "VariableDeclaration", + "scope": 1568, + "src": "859:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1535, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "859:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 1549, + "initialValue": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1537, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "871:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 1538, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1530, + "src": "875:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "871:5:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 1540, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "870:7:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1541, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "882:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 1542, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1530, + "src": "886:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "882:5:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 1544, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "881:7:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "892:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "881:12:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 1547, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "880:14:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "870:24:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "859:35:4" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1550, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "911:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1555, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "931:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "923:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1553, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "923:7:4", + "typeDescriptions": {} + } + }, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "923:10:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "323535", + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "937:3:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "255" + }, + "src": "923:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "916:6:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1551, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "916:6:4", + "typeDescriptions": {} + } + }, + "id": 1559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "916:25:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1560, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "945:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "^", + "rightExpression": { + "id": 1561, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1530, + "src": "949:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "945:5:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 1563, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "944:7:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "916:35:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 1565, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "915:37:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "911:41:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1534, + "id": 1567, + "nodeType": "Return", + "src": "904:48:4" + } + ] + }, + "documentation": { + "id": 1526, + "nodeType": "StructuredDocumentation", + "src": "598:126:4", + "text": " @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero." + }, + "id": 1569, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "average", + "nameLocation": "738:7:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1528, + "mutability": "mutable", + "name": "a", + "nameLocation": "753:1:4", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "746:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1527, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "746:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1530, + "mutability": "mutable", + "name": "b", + "nameLocation": "763:1:4", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "756:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1529, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "756:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "745:20:4" + }, + "returnParameters": { + "id": 1534, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1533, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "789:6:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1532, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "789:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "788:8:4" + }, + "scope": 1591, + "src": "729:230:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1589, + "nodeType": "Block", + "src": "1103:158:4", + "statements": [ + { + "id": 1588, + "nodeType": "UncheckedBlock", + "src": "1113:142:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1579, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1572, + "src": "1228:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "30", + "id": 1580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1233:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1228:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1241:2:4", + "subExpression": { + "id": 1583, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1572, + "src": "1242:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 1585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1228:15:4", + "trueExpression": { + "id": 1582, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1572, + "src": "1237:1:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 1578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1220:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1577, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1220:7:4", + "typeDescriptions": {} + } + }, + "id": 1586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1220:24:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1576, + "id": 1587, + "nodeType": "Return", + "src": "1213:31:4" + } + ] + } + ] + }, + "documentation": { + "id": 1570, + "nodeType": "StructuredDocumentation", + "src": "965:78:4", + "text": " @dev Returns the absolute unsigned value of a signed value." + }, + "id": 1590, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "abs", + "nameLocation": "1057:3:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1572, + "mutability": "mutable", + "name": "n", + "nameLocation": "1068:1:4", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "1061:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1571, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1061:6:4", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1060:10:4" + }, + "returnParameters": { + "id": 1576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1575, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1590, + "src": "1094:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1574, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1094:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1093:9:4" + }, + "scope": 1591, + "src": "1048:213:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1592, + "src": "216:1047:4", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "109:1155:4" + }, + "id": 4 + }, + "EAS/Common.sol": { + "ast": { + "absolutePath": "EAS/Common.sol", + "exportedSymbols": { + "AccessDenied": [ + 1601 + ], + "Attestation": [ + 1641 + ], + "DeadlineExpired": [ + 1603 + ], + "EMPTY_UID": [ + 1596 + ], + "InvalidEAS": [ + 1605 + ], + "InvalidLength": [ + 1607 + ], + "InvalidSignature": [ + 1609 + ], + "NO_EXPIRATION_TIME": [ + 1599 + ], + "NotFound": [ + 1611 + ], + "Signature": [ + 1619 + ], + "uncheckedInc": [ + 1657 + ] + }, + "id": 1658, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1593, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:5" + }, + { + "constant": true, + "id": 1596, + "mutability": "constant", + "name": "EMPTY_UID", + "nameLocation": "126:9:5", + "nodeType": "VariableDeclaration", + "scope": 1658, + "src": "109:30:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1594, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "109:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "30", + "id": 1595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "138:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 1599, + "mutability": "constant", + "name": "NO_EXPIRATION_TIME", + "nameLocation": "219:18:5", + "nodeType": "VariableDeclaration", + "scope": 1658, + "src": "203:38:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1597, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "203:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": { + "hexValue": "30", + "id": 1598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "240:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "errorSelector": "4ca88867", + "id": 1601, + "name": "AccessDenied", + "nameLocation": "250:12:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1600, + "nodeType": "ParameterList", + "parameters": [], + "src": "262:2:5" + }, + "src": "244:21:5" + }, + { + "errorSelector": "1ab7da6b", + "id": 1603, + "name": "DeadlineExpired", + "nameLocation": "272:15:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1602, + "nodeType": "ParameterList", + "parameters": [], + "src": "287:2:5" + }, + "src": "266:24:5" + }, + { + "errorSelector": "83780ffe", + "id": 1605, + "name": "InvalidEAS", + "nameLocation": "297:10:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1604, + "nodeType": "ParameterList", + "parameters": [], + "src": "307:2:5" + }, + "src": "291:19:5" + }, + { + "errorSelector": "947d5a84", + "id": 1607, + "name": "InvalidLength", + "nameLocation": "317:13:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1606, + "nodeType": "ParameterList", + "parameters": [], + "src": "330:2:5" + }, + "src": "311:22:5" + }, + { + "errorSelector": "8baa579f", + "id": 1609, + "name": "InvalidSignature", + "nameLocation": "340:16:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1608, + "nodeType": "ParameterList", + "parameters": [], + "src": "356:2:5" + }, + "src": "334:25:5" + }, + { + "errorSelector": "c5723b51", + "id": 1611, + "name": "NotFound", + "nameLocation": "366:8:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1610, + "nodeType": "ParameterList", + "parameters": [], + "src": "374:2:5" + }, + "src": "360:17:5" + }, + { + "canonicalName": "Signature", + "documentation": { + "id": 1612, + "nodeType": "StructuredDocumentation", + "src": "379:56:5", + "text": "@notice A struct representing ECDSA signature data." + }, + "id": 1619, + "members": [ + { + "constant": false, + "id": 1614, + "mutability": "mutable", + "name": "v", + "nameLocation": "464:1:5", + "nodeType": "VariableDeclaration", + "scope": 1619, + "src": "458:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1613, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "458:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1616, + "mutability": "mutable", + "name": "r", + "nameLocation": "499:1:5", + "nodeType": "VariableDeclaration", + "scope": 1619, + "src": "491:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1615, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "491:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1618, + "mutability": "mutable", + "name": "s", + "nameLocation": "550:1:5", + "nodeType": "VariableDeclaration", + "scope": 1619, + "src": "542:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1617, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "542:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "Signature", + "nameLocation": "442:9:5", + "nodeType": "StructDefinition", + "scope": 1658, + "src": "435:142:5", + "visibility": "public" + }, + { + "canonicalName": "Attestation", + "documentation": { + "id": 1620, + "nodeType": "StructuredDocumentation", + "src": "579:56:5", + "text": "@notice A struct representing a single attestation." + }, + "id": 1641, + "members": [ + { + "constant": false, + "id": 1622, + "mutability": "mutable", + "name": "uid", + "nameLocation": "668:3:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "660:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1621, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "660:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1624, + "mutability": "mutable", + "name": "schema", + "nameLocation": "728:6:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "720:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1623, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "720:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1626, + "mutability": "mutable", + "name": "time", + "nameLocation": "787:4:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "780:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1625, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "780:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1628, + "mutability": "mutable", + "name": "expirationTime", + "nameLocation": "867:14:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "860:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1627, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "860:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1630, + "mutability": "mutable", + "name": "revocationTime", + "nameLocation": "953:14:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "946:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1629, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "946:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1632, + "mutability": "mutable", + "name": "refUID", + "nameLocation": "1044:6:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1036:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1631, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1036:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1634, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "1103:9:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1095:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1095:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1636, + "mutability": "mutable", + "name": "attester", + "nameLocation": "1163:8:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1155:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1155:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1638, + "mutability": "mutable", + "name": "revocable", + "nameLocation": "1225:9:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1220:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1637, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1220:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1640, + "mutability": "mutable", + "name": "data", + "nameLocation": "1287:4:5", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1281:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1639, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1281:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "Attestation", + "nameLocation": "642:11:5", + "nodeType": "StructDefinition", + "scope": 1658, + "src": "635:687:5", + "visibility": "public" + }, + { + "body": { + "id": 1656, + "nodeType": "Block", + "src": "1455:44:5", + "statements": [ + { + "id": 1655, + "nodeType": "UncheckedBlock", + "src": "1461:36:5", + "statements": [ + { + "expression": { + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1649, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1647, + "src": "1481:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1650, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1644, + "src": "1485:1:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1489:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1485:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1481:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1654, + "nodeType": "ExpressionStatement", + "src": "1481:9:5" + } + ] + } + ] + }, + "documentation": { + "id": 1642, + "nodeType": "StructuredDocumentation", + "src": "1324:73:5", + "text": "@notice A helper function to work with unchecked iterators in loops." + }, + "id": 1657, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "uncheckedInc", + "nameLocation": "1406:12:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1644, + "mutability": "mutable", + "name": "i", + "nameLocation": "1427:1:5", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "1419:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1419:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1418:11:5" + }, + "returnParameters": { + "id": 1648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1647, + "mutability": "mutable", + "name": "j", + "nameLocation": "1452:1:5", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "1444:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1646, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1444:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1443:11:5" + }, + "scope": 1658, + "src": "1397:102:5", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "src": "33:1466:5" + }, + "id": 5 + }, + "EAS/IEAS.sol": { + "ast": { + "absolutePath": "EAS/IEAS.sol", + "exportedSymbols": { + "Attestation": [ + 1641 + ], + "AttestationRequest": [ + 1687 + ], + "AttestationRequestData": [ + 1680 + ], + "DelegatedAttestationRequest": [ + 1701 + ], + "DelegatedRevocationRequest": [ + 1752 + ], + "IEAS": [ + 1964 + ], + "ISchemaRegistry": [ + 2017 + ], + "ISemver": [ + 2087 + ], + "MultiAttestationRequest": [ + 1709 + ], + "MultiDelegatedAttestationRequest": [ + 1725 + ], + "MultiDelegatedRevocationRequest": [ + 1776 + ], + "MultiRevocationRequest": [ + 1760 + ], + "RevocationRequest": [ + 1738 + ], + "RevocationRequestData": [ + 1731 + ], + "Signature": [ + 1619 + ] + }, + "id": 1965, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1659, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:6" + }, + { + "absolutePath": "EAS/ISchemaRegistry.sol", + "file": "./ISchemaRegistry.sol", + "id": 1661, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1965, + "sourceUnit": 2018, + "src": "58:56:6", + "symbolAliases": [ + { + "foreign": { + "id": 1660, + "name": "ISchemaRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2017, + "src": "67:15:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/ISemver.sol", + "file": "./ISemver.sol", + "id": 1663, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1965, + "sourceUnit": 2088, + "src": "115:40:6", + "symbolAliases": [ + { + "foreign": { + "id": 1662, + "name": "ISemver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "124:7:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/Common.sol", + "file": "./Common.sol", + "id": 1666, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1965, + "sourceUnit": 1658, + "src": "156:54:6", + "symbolAliases": [ + { + "foreign": { + "id": 1664, + "name": "Attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "165:11:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 1665, + "name": "Signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1619, + "src": "178:9:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "canonicalName": "AttestationRequestData", + "documentation": { + "id": 1667, + "nodeType": "StructuredDocumentation", + "src": "212:76:6", + "text": "@notice A struct representing the arguments of the attestation request." + }, + "id": 1680, + "members": [ + { + "constant": false, + "id": 1669, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "332:9:6", + "nodeType": "VariableDeclaration", + "scope": 1680, + "src": "324:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1668, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1671, + "mutability": "mutable", + "name": "expirationTime", + "nameLocation": "391:14:6", + "nodeType": "VariableDeclaration", + "scope": 1680, + "src": "384:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1670, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "384:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1673, + "mutability": "mutable", + "name": "revocable", + "nameLocation": "475:9:6", + "nodeType": "VariableDeclaration", + "scope": 1680, + "src": "470:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1672, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "470:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1675, + "mutability": "mutable", + "name": "refUID", + "nameLocation": "539:6:6", + "nodeType": "VariableDeclaration", + "scope": 1680, + "src": "531:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1674, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "531:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1677, + "mutability": "mutable", + "name": "data", + "nameLocation": "596:4:6", + "nodeType": "VariableDeclaration", + "scope": 1680, + "src": "590:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1676, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "590:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1679, + "mutability": "mutable", + "name": "value", + "nameLocation": "642:5:6", + "nodeType": "VariableDeclaration", + "scope": 1680, + "src": "634:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "634:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "AttestationRequestData", + "nameLocation": "295:22:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "288:466:6", + "visibility": "public" + }, + { + "canonicalName": "AttestationRequest", + "documentation": { + "id": 1681, + "nodeType": "StructuredDocumentation", + "src": "756:81:6", + "text": "@notice A struct representing the full arguments of the attestation request." + }, + "id": 1687, + "members": [ + { + "constant": false, + "id": 1683, + "mutability": "mutable", + "name": "schema", + "nameLocation": "877:6:6", + "nodeType": "VariableDeclaration", + "scope": 1687, + "src": "869:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1682, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "869:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1686, + "mutability": "mutable", + "name": "data", + "nameLocation": "952:4:6", + "nodeType": "VariableDeclaration", + "scope": 1687, + "src": "929:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", + "typeString": "struct AttestationRequestData" + }, + "typeName": { + "id": 1685, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1684, + "name": "AttestationRequestData", + "nameLocations": [ + "929:22:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1680, + "src": "929:22:6" + }, + "referencedDeclaration": 1680, + "src": "929:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", + "typeString": "struct AttestationRequestData" + } + }, + "visibility": "internal" + } + ], + "name": "AttestationRequest", + "nameLocation": "844:18:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "837:167:6", + "visibility": "public" + }, + { + "canonicalName": "DelegatedAttestationRequest", + "documentation": { + "id": 1688, + "nodeType": "StructuredDocumentation", + "src": "1006:96:6", + "text": "@notice A struct representing the full arguments of the full delegated attestation request." + }, + "id": 1701, + "members": [ + { + "constant": false, + "id": 1690, + "mutability": "mutable", + "name": "schema", + "nameLocation": "1151:6:6", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "1143:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1689, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1143:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1693, + "mutability": "mutable", + "name": "data", + "nameLocation": "1226:4:6", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "1203:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", + "typeString": "struct AttestationRequestData" + }, + "typeName": { + "id": 1692, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1691, + "name": "AttestationRequestData", + "nameLocations": [ + "1203:22:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1680, + "src": "1203:22:6" + }, + "referencedDeclaration": 1680, + "src": "1203:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", + "typeString": "struct AttestationRequestData" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1696, + "mutability": "mutable", + "name": "signature", + "nameLocation": "1291:9:6", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "1281:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", + "typeString": "struct Signature" + }, + "typeName": { + "id": 1695, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1694, + "name": "Signature", + "nameLocations": [ + "1281:9:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1619, + "src": "1281:9:6" + }, + "referencedDeclaration": 1619, + "src": "1281:9:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", + "typeString": "struct Signature" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1698, + "mutability": "mutable", + "name": "attester", + "nameLocation": "1343:8:6", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "1335:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1697, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1335:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1700, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "1390:8:6", + "nodeType": "VariableDeclaration", + "scope": 1701, + "src": "1383:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1699, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1383:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "DelegatedAttestationRequest", + "nameLocation": "1109:27:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "1102:341:6", + "visibility": "public" + }, + { + "canonicalName": "MultiAttestationRequest", + "documentation": { + "id": 1702, + "nodeType": "StructuredDocumentation", + "src": "1445:87:6", + "text": "@notice A struct representing the full arguments of the multi attestation request." + }, + "id": 1709, + "members": [ + { + "constant": false, + "id": 1704, + "mutability": "mutable", + "name": "schema", + "nameLocation": "1577:6:6", + "nodeType": "VariableDeclaration", + "scope": 1709, + "src": "1569:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1703, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1569:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1708, + "mutability": "mutable", + "name": "data", + "nameLocation": "1654:4:6", + "nodeType": "VariableDeclaration", + "scope": 1709, + "src": "1629:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AttestationRequestData_$1680_storage_$dyn_storage_ptr", + "typeString": "struct AttestationRequestData[]" + }, + "typeName": { + "baseType": { + "id": 1706, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1705, + "name": "AttestationRequestData", + "nameLocations": [ + "1629:22:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1680, + "src": "1629:22:6" + }, + "referencedDeclaration": 1680, + "src": "1629:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", + "typeString": "struct AttestationRequestData" + } + }, + "id": 1707, + "nodeType": "ArrayTypeName", + "src": "1629:24:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AttestationRequestData_$1680_storage_$dyn_storage_ptr", + "typeString": "struct AttestationRequestData[]" + } + }, + "visibility": "internal" + } + ], + "name": "MultiAttestationRequest", + "nameLocation": "1539:23:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "1532:174:6", + "visibility": "public" + }, + { + "canonicalName": "MultiDelegatedAttestationRequest", + "documentation": { + "id": 1710, + "nodeType": "StructuredDocumentation", + "src": "1708:97:6", + "text": "@notice A struct representing the full arguments of the delegated multi attestation request." + }, + "id": 1725, + "members": [ + { + "constant": false, + "id": 1712, + "mutability": "mutable", + "name": "schema", + "nameLocation": "1859:6:6", + "nodeType": "VariableDeclaration", + "scope": 1725, + "src": "1851:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1711, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1851:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1716, + "mutability": "mutable", + "name": "data", + "nameLocation": "1936:4:6", + "nodeType": "VariableDeclaration", + "scope": 1725, + "src": "1911:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AttestationRequestData_$1680_storage_$dyn_storage_ptr", + "typeString": "struct AttestationRequestData[]" + }, + "typeName": { + "baseType": { + "id": 1714, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1713, + "name": "AttestationRequestData", + "nameLocations": [ + "1911:22:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1680, + "src": "1911:22:6" + }, + "referencedDeclaration": 1680, + "src": "1911:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", + "typeString": "struct AttestationRequestData" + } + }, + "id": 1715, + "nodeType": "ArrayTypeName", + "src": "1911:24:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AttestationRequestData_$1680_storage_$dyn_storage_ptr", + "typeString": "struct AttestationRequestData[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1720, + "mutability": "mutable", + "name": "signatures", + "nameLocation": "2004:10:6", + "nodeType": "VariableDeclaration", + "scope": 1725, + "src": "1992:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Signature_$1619_storage_$dyn_storage_ptr", + "typeString": "struct Signature[]" + }, + "typeName": { + "baseType": { + "id": 1718, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1717, + "name": "Signature", + "nameLocations": [ + "1992:9:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1619, + "src": "1992:9:6" + }, + "referencedDeclaration": 1619, + "src": "1992:9:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", + "typeString": "struct Signature" + } + }, + "id": 1719, + "nodeType": "ArrayTypeName", + "src": "1992:11:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Signature_$1619_storage_$dyn_storage_ptr", + "typeString": "struct Signature[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1722, + "mutability": "mutable", + "name": "attester", + "nameLocation": "2139:8:6", + "nodeType": "VariableDeclaration", + "scope": 1725, + "src": "2131:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1721, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2131:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1724, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "2186:8:6", + "nodeType": "VariableDeclaration", + "scope": 1725, + "src": "2179:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1723, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2179:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "MultiDelegatedAttestationRequest", + "nameLocation": "1812:32:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "1805:434:6", + "visibility": "public" + }, + { + "canonicalName": "RevocationRequestData", + "documentation": { + "id": 1726, + "nodeType": "StructuredDocumentation", + "src": "2241:75:6", + "text": "@notice A struct representing the arguments of the revocation request." + }, + "id": 1731, + "members": [ + { + "constant": false, + "id": 1728, + "mutability": "mutable", + "name": "uid", + "nameLocation": "2359:3:6", + "nodeType": "VariableDeclaration", + "scope": 1731, + "src": "2351:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1727, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2351:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1730, + "mutability": "mutable", + "name": "value", + "nameLocation": "2417:5:6", + "nodeType": "VariableDeclaration", + "scope": 1731, + "src": "2409:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2409:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "RevocationRequestData", + "nameLocation": "2323:21:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "2316:213:6", + "visibility": "public" + }, + { + "canonicalName": "RevocationRequest", + "documentation": { + "id": 1732, + "nodeType": "StructuredDocumentation", + "src": "2531:80:6", + "text": "@notice A struct representing the full arguments of the revocation request." + }, + "id": 1738, + "members": [ + { + "constant": false, + "id": 1734, + "mutability": "mutable", + "name": "schema", + "nameLocation": "2650:6:6", + "nodeType": "VariableDeclaration", + "scope": 1738, + "src": "2642:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1733, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2642:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1737, + "mutability": "mutable", + "name": "data", + "nameLocation": "2724:4:6", + "nodeType": "VariableDeclaration", + "scope": 1738, + "src": "2702:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", + "typeString": "struct RevocationRequestData" + }, + "typeName": { + "id": 1736, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1735, + "name": "RevocationRequestData", + "nameLocations": [ + "2702:21:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1731, + "src": "2702:21:6" + }, + "referencedDeclaration": 1731, + "src": "2702:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", + "typeString": "struct RevocationRequestData" + } + }, + "visibility": "internal" + } + ], + "name": "RevocationRequest", + "nameLocation": "2618:17:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "2611:164:6", + "visibility": "public" + }, + { + "canonicalName": "DelegatedRevocationRequest", + "documentation": { + "id": 1739, + "nodeType": "StructuredDocumentation", + "src": "2777:90:6", + "text": "@notice A struct representing the arguments of the full delegated revocation request." + }, + "id": 1752, + "members": [ + { + "constant": false, + "id": 1741, + "mutability": "mutable", + "name": "schema", + "nameLocation": "2915:6:6", + "nodeType": "VariableDeclaration", + "scope": 1752, + "src": "2907:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1740, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2907:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1744, + "mutability": "mutable", + "name": "data", + "nameLocation": "2989:4:6", + "nodeType": "VariableDeclaration", + "scope": 1752, + "src": "2967:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", + "typeString": "struct RevocationRequestData" + }, + "typeName": { + "id": 1743, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1742, + "name": "RevocationRequestData", + "nameLocations": [ + "2967:21:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1731, + "src": "2967:21:6" + }, + "referencedDeclaration": 1731, + "src": "2967:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", + "typeString": "struct RevocationRequestData" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1747, + "mutability": "mutable", + "name": "signature", + "nameLocation": "3053:9:6", + "nodeType": "VariableDeclaration", + "scope": 1752, + "src": "3043:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", + "typeString": "struct Signature" + }, + "typeName": { + "id": 1746, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1745, + "name": "Signature", + "nameLocations": [ + "3043:9:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1619, + "src": "3043:9:6" + }, + "referencedDeclaration": 1619, + "src": "3043:9:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", + "typeString": "struct Signature" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1749, + "mutability": "mutable", + "name": "revoker", + "nameLocation": "3105:7:6", + "nodeType": "VariableDeclaration", + "scope": 1752, + "src": "3097:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3097:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1751, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "3150:8:6", + "nodeType": "VariableDeclaration", + "scope": 1752, + "src": "3143:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1750, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3143:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "DelegatedRevocationRequest", + "nameLocation": "2874:26:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "2867:336:6", + "visibility": "public" + }, + { + "canonicalName": "MultiRevocationRequest", + "documentation": { + "id": 1753, + "nodeType": "StructuredDocumentation", + "src": "3205:86:6", + "text": "@notice A struct representing the full arguments of the multi revocation request." + }, + "id": 1760, + "members": [ + { + "constant": false, + "id": 1755, + "mutability": "mutable", + "name": "schema", + "nameLocation": "3335:6:6", + "nodeType": "VariableDeclaration", + "scope": 1760, + "src": "3327:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1754, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3327:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1759, + "mutability": "mutable", + "name": "data", + "nameLocation": "3411:4:6", + "nodeType": "VariableDeclaration", + "scope": 1760, + "src": "3387:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RevocationRequestData_$1731_storage_$dyn_storage_ptr", + "typeString": "struct RevocationRequestData[]" + }, + "typeName": { + "baseType": { + "id": 1757, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1756, + "name": "RevocationRequestData", + "nameLocations": [ + "3387:21:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1731, + "src": "3387:21:6" + }, + "referencedDeclaration": 1731, + "src": "3387:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", + "typeString": "struct RevocationRequestData" + } + }, + "id": 1758, + "nodeType": "ArrayTypeName", + "src": "3387:23:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RevocationRequestData_$1731_storage_$dyn_storage_ptr", + "typeString": "struct RevocationRequestData[]" + } + }, + "visibility": "internal" + } + ], + "name": "MultiRevocationRequest", + "nameLocation": "3298:22:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "3291:171:6", + "visibility": "public" + }, + { + "canonicalName": "MultiDelegatedRevocationRequest", + "documentation": { + "id": 1761, + "nodeType": "StructuredDocumentation", + "src": "3464:96:6", + "text": "@notice A struct representing the full arguments of the delegated multi revocation request." + }, + "id": 1776, + "members": [ + { + "constant": false, + "id": 1763, + "mutability": "mutable", + "name": "schema", + "nameLocation": "3613:6:6", + "nodeType": "VariableDeclaration", + "scope": 1776, + "src": "3605:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1762, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3605:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1767, + "mutability": "mutable", + "name": "data", + "nameLocation": "3689:4:6", + "nodeType": "VariableDeclaration", + "scope": 1776, + "src": "3665:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RevocationRequestData_$1731_storage_$dyn_storage_ptr", + "typeString": "struct RevocationRequestData[]" + }, + "typeName": { + "baseType": { + "id": 1765, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1764, + "name": "RevocationRequestData", + "nameLocations": [ + "3665:21:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1731, + "src": "3665:21:6" + }, + "referencedDeclaration": 1731, + "src": "3665:21:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", + "typeString": "struct RevocationRequestData" + } + }, + "id": 1766, + "nodeType": "ArrayTypeName", + "src": "3665:23:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RevocationRequestData_$1731_storage_$dyn_storage_ptr", + "typeString": "struct RevocationRequestData[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1771, + "mutability": "mutable", + "name": "signatures", + "nameLocation": "3756:10:6", + "nodeType": "VariableDeclaration", + "scope": 1776, + "src": "3744:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Signature_$1619_storage_$dyn_storage_ptr", + "typeString": "struct Signature[]" + }, + "typeName": { + "baseType": { + "id": 1769, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1768, + "name": "Signature", + "nameLocations": [ + "3744:9:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1619, + "src": "3744:9:6" + }, + "referencedDeclaration": 1619, + "src": "3744:9:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", + "typeString": "struct Signature" + } + }, + "id": 1770, + "nodeType": "ArrayTypeName", + "src": "3744:11:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Signature_$1619_storage_$dyn_storage_ptr", + "typeString": "struct Signature[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1773, + "mutability": "mutable", + "name": "revoker", + "nameLocation": "3891:7:6", + "nodeType": "VariableDeclaration", + "scope": 1776, + "src": "3883:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1772, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3883:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1775, + "mutability": "mutable", + "name": "deadline", + "nameLocation": "3936:8:6", + "nodeType": "VariableDeclaration", + "scope": 1776, + "src": "3929:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1774, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3929:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "MultiDelegatedRevocationRequest", + "nameLocation": "3567:31:6", + "nodeType": "StructDefinition", + "scope": 1965, + "src": "3560:429:6", + "visibility": "public" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1778, + "name": "ISemver", + "nameLocations": [ + "4083:7:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2087, + "src": "4083:7:6" + }, + "id": 1779, + "nodeType": "InheritanceSpecifier", + "src": "4083:7:6" + } + ], + "canonicalName": "IEAS", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1777, + "nodeType": "StructuredDocumentation", + "src": "3991:74:6", + "text": "@title IEAS\n @notice EAS - Ethereum Attestation Service interface." + }, + "fullyImplemented": false, + "id": 1964, + "linearizedBaseContracts": [ + 1964, + 2087 + ], + "name": "IEAS", + "nameLocation": "4075:4:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 1780, + "nodeType": "StructuredDocumentation", + "src": "4097:259:6", + "text": "@notice Emitted when an attestation has been made.\n @param recipient The recipient of the attestation.\n @param attester The attesting account.\n @param uid The UID of the new attestation.\n @param schemaUID The UID of the schema." + }, + "eventSelector": "8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35", + "id": 1790, + "name": "Attested", + "nameLocation": "4367:8:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1782, + "indexed": true, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "4392:9:6", + "nodeType": "VariableDeclaration", + "scope": 1790, + "src": "4376:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1781, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4376:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1784, + "indexed": true, + "mutability": "mutable", + "name": "attester", + "nameLocation": "4419:8:6", + "nodeType": "VariableDeclaration", + "scope": 1790, + "src": "4403:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1783, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4403:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1786, + "indexed": false, + "mutability": "mutable", + "name": "uid", + "nameLocation": "4437:3:6", + "nodeType": "VariableDeclaration", + "scope": 1790, + "src": "4429:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1785, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4429:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1788, + "indexed": true, + "mutability": "mutable", + "name": "schemaUID", + "nameLocation": "4458:9:6", + "nodeType": "VariableDeclaration", + "scope": 1790, + "src": "4442:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1787, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4442:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4375:93:6" + }, + "src": "4361:108:6" + }, + { + "anonymous": false, + "documentation": { + "id": 1791, + "nodeType": "StructuredDocumentation", + "src": "4475:263:6", + "text": "@notice Emitted when an attestation has been revoked.\n @param recipient The recipient of the attestation.\n @param attester The attesting account.\n @param schemaUID The UID of the schema.\n @param uid The UID the revoked attestation." + }, + "eventSelector": "f930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f615", + "id": 1801, + "name": "Revoked", + "nameLocation": "4749:7:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1793, + "indexed": true, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "4773:9:6", + "nodeType": "VariableDeclaration", + "scope": 1801, + "src": "4757:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1792, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4757:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1795, + "indexed": true, + "mutability": "mutable", + "name": "attester", + "nameLocation": "4800:8:6", + "nodeType": "VariableDeclaration", + "scope": 1801, + "src": "4784:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1794, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4784:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1797, + "indexed": false, + "mutability": "mutable", + "name": "uid", + "nameLocation": "4818:3:6", + "nodeType": "VariableDeclaration", + "scope": 1801, + "src": "4810:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1796, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4810:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1799, + "indexed": true, + "mutability": "mutable", + "name": "schemaUID", + "nameLocation": "4839:9:6", + "nodeType": "VariableDeclaration", + "scope": 1801, + "src": "4823:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1798, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4823:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4756:93:6" + }, + "src": "4743:107:6" + }, + { + "anonymous": false, + "documentation": { + "id": 1802, + "nodeType": "StructuredDocumentation", + "src": "4856:123:6", + "text": "@notice Emitted when a data has been timestamped.\n @param data The data.\n @param timestamp The timestamp." + }, + "eventSelector": "5aafceeb1c7ad58e4a84898bdee37c02c0fc46e7d24e6b60e8209449f183459f", + "id": 1808, + "name": "Timestamped", + "nameLocation": "4990:11:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1804, + "indexed": true, + "mutability": "mutable", + "name": "data", + "nameLocation": "5018:4:6", + "nodeType": "VariableDeclaration", + "scope": 1808, + "src": "5002:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1803, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5002:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1806, + "indexed": true, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "5039:9:6", + "nodeType": "VariableDeclaration", + "scope": 1808, + "src": "5024:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1805, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "5024:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "5001:48:6" + }, + "src": "4984:66:6" + }, + { + "anonymous": false, + "documentation": { + "id": 1809, + "nodeType": "StructuredDocumentation", + "src": "5056:170:6", + "text": "@notice Emitted when a data has been revoked.\n @param revoker The address of the revoker.\n @param data The data.\n @param timestamp The timestamp." + }, + "eventSelector": "92a1f7a41a7c585a8b09e25b195e225b1d43248daca46b0faf9e0792777a2229", + "id": 1817, + "name": "RevokedOffchain", + "nameLocation": "5237:15:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1811, + "indexed": true, + "mutability": "mutable", + "name": "revoker", + "nameLocation": "5269:7:6", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5253:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5253:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1813, + "indexed": true, + "mutability": "mutable", + "name": "data", + "nameLocation": "5294:4:6", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5278:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1812, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5278:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1815, + "indexed": true, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "5315:9:6", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5300:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1814, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "5300:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "5252:73:6" + }, + "src": "5231:95:6" + }, + { + "documentation": { + "id": 1818, + "nodeType": "StructuredDocumentation", + "src": "5332:121:6", + "text": "@notice Returns the address of the global schema registry.\n @return The address of the global schema registry." + }, + "functionSelector": "f10b5cc8", + "id": 1824, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getSchemaRegistry", + "nameLocation": "5467:17:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1819, + "nodeType": "ParameterList", + "parameters": [], + "src": "5484:2:6" + }, + "returnParameters": { + "id": 1823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1822, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1824, + "src": "5510:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISchemaRegistry_$2017", + "typeString": "contract ISchemaRegistry" + }, + "typeName": { + "id": 1821, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1820, + "name": "ISchemaRegistry", + "nameLocations": [ + "5510:15:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2017, + "src": "5510:15:6" + }, + "referencedDeclaration": 2017, + "src": "5510:15:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISchemaRegistry_$2017", + "typeString": "contract ISchemaRegistry" + } + }, + "visibility": "internal" + } + ], + "src": "5509:17:6" + }, + "scope": 1964, + "src": "5458:69:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1825, + "nodeType": "StructuredDocumentation", + "src": "5533:665:6", + "text": "@notice Attests to a specific schema.\n @param request The arguments of the attestation request.\n @return The UID of the new attestation.\n Example:\n attest({\n schema: \"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\",\n data: {\n recipient: \"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\",\n expirationTime: 0,\n revocable: true,\n refUID: \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n data: \"0xF00D\",\n value: 0\n }\n })" + }, + "functionSelector": "f17325e7", + "id": 1833, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "attest", + "nameLocation": "6212:6:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1828, + "mutability": "mutable", + "name": "request", + "nameLocation": "6247:7:6", + "nodeType": "VariableDeclaration", + "scope": 1833, + "src": "6219:35:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AttestationRequest_$1687_calldata_ptr", + "typeString": "struct AttestationRequest" + }, + "typeName": { + "id": 1827, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1826, + "name": "AttestationRequest", + "nameLocations": [ + "6219:18:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1687, + "src": "6219:18:6" + }, + "referencedDeclaration": 1687, + "src": "6219:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AttestationRequest_$1687_storage_ptr", + "typeString": "struct AttestationRequest" + } + }, + "visibility": "internal" + } + ], + "src": "6218:37:6" + }, + "returnParameters": { + "id": 1832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1831, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1833, + "src": "6282:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1830, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6282:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6281:9:6" + }, + "scope": 1964, + "src": "6203:88:6", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1834, + "nodeType": "StructuredDocumentation", + "src": "6297:1004:6", + "text": "@notice Attests to a specific schema via the provided ECDSA signature.\n @param delegatedRequest The arguments of the delegated attestation request.\n @return The UID of the new attestation.\n Example:\n attestByDelegation({\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: {\n recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n expirationTime: 1673891048,\n revocable: true,\n refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n data: '0x1234',\n value: 0\n },\n signature: {\n v: 28,\n r: '0x148c...b25b',\n s: '0x5a72...be22'\n },\n attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e',\n deadline: 1673891048\n })" + }, + "functionSelector": "3c042715", + "id": 1842, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "attestByDelegation", + "nameLocation": "7315:18:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1837, + "mutability": "mutable", + "name": "delegatedRequest", + "nameLocation": "7380:16:6", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "7343:53:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DelegatedAttestationRequest_$1701_calldata_ptr", + "typeString": "struct DelegatedAttestationRequest" + }, + "typeName": { + "id": 1836, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1835, + "name": "DelegatedAttestationRequest", + "nameLocations": [ + "7343:27:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1701, + "src": "7343:27:6" + }, + "referencedDeclaration": 1701, + "src": "7343:27:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DelegatedAttestationRequest_$1701_storage_ptr", + "typeString": "struct DelegatedAttestationRequest" + } + }, + "visibility": "internal" + } + ], + "src": "7333:69:6" + }, + "returnParameters": { + "id": 1841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1840, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "7429:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1839, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7429:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7428:9:6" + }, + "scope": 1964, + "src": "7306:132:6", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1843, + "nodeType": "StructuredDocumentation", + "src": "7444:1656:6", + "text": "@notice Attests to multiple schemas.\n @param multiRequests The arguments of the multi attestation requests. The requests should be grouped by distinct\n schema ids to benefit from the best batching optimization.\n @return The UIDs of the new attestations.\n Example:\n multiAttest([{\n schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd',\n data: [{\n recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n expirationTime: 1673891048,\n revocable: true,\n refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n data: '0x1234',\n value: 1000\n },\n {\n recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n expirationTime: 0,\n revocable: false,\n refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174',\n data: '0x00',\n value: 0\n }],\n },\n {\n schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',\n data: [{\n recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n expirationTime: 0,\n revocable: true,\n refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f',\n data: '0x12345678',\n value: 0\n },\n }])" + }, + "functionSelector": "44adc90e", + "id": 1853, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "multiAttest", + "nameLocation": "9114:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1847, + "mutability": "mutable", + "name": "multiRequests", + "nameLocation": "9161:13:6", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "9126:48:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MultiAttestationRequest_$1709_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct MultiAttestationRequest[]" + }, + "typeName": { + "baseType": { + "id": 1845, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1844, + "name": "MultiAttestationRequest", + "nameLocations": [ + "9126:23:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1709, + "src": "9126:23:6" + }, + "referencedDeclaration": 1709, + "src": "9126:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiAttestationRequest_$1709_storage_ptr", + "typeString": "struct MultiAttestationRequest" + } + }, + "id": 1846, + "nodeType": "ArrayTypeName", + "src": "9126:25:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MultiAttestationRequest_$1709_storage_$dyn_storage_ptr", + "typeString": "struct MultiAttestationRequest[]" + } + }, + "visibility": "internal" + } + ], + "src": "9125:50:6" + }, + "returnParameters": { + "id": 1852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1851, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "9202:16:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1849, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9202:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1850, + "nodeType": "ArrayTypeName", + "src": "9202:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "9201:18:6" + }, + "scope": 1964, + "src": "9105:115:6", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1854, + "nodeType": "StructuredDocumentation", + "src": "9226:1642:6", + "text": "@notice Attests to multiple schemas using via provided ECDSA signatures.\n @param multiDelegatedRequests The arguments of the delegated multi attestation requests. The requests should be\n grouped by distinct schema ids to benefit from the best batching optimization.\n @return The UIDs of the new attestations.\n Example:\n multiAttestByDelegation([{\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: [{\n recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n expirationTime: 1673891048,\n revocable: true,\n refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n data: '0x1234',\n value: 0\n },\n {\n recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n expirationTime: 0,\n revocable: false,\n refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n data: '0x00',\n value: 0\n }],\n signatures: [{\n v: 28,\n r: '0x148c...b25b',\n s: '0x5a72...be22'\n },\n {\n v: 28,\n r: '0x487s...67bb',\n s: '0x12ad...2366'\n }],\n attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4',\n deadline: 1673891048\n }])" + }, + "functionSelector": "95411525", + "id": 1864, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "multiAttestByDelegation", + "nameLocation": "10882:23:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1859, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1858, + "mutability": "mutable", + "name": "multiDelegatedRequests", + "nameLocation": "10959:22:6", + "nodeType": "VariableDeclaration", + "scope": 1864, + "src": "10915:66:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MultiDelegatedAttestationRequest_$1725_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct MultiDelegatedAttestationRequest[]" + }, + "typeName": { + "baseType": { + "id": 1856, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1855, + "name": "MultiDelegatedAttestationRequest", + "nameLocations": [ + "10915:32:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1725, + "src": "10915:32:6" + }, + "referencedDeclaration": 1725, + "src": "10915:32:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiDelegatedAttestationRequest_$1725_storage_ptr", + "typeString": "struct MultiDelegatedAttestationRequest" + } + }, + "id": 1857, + "nodeType": "ArrayTypeName", + "src": "10915:34:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MultiDelegatedAttestationRequest_$1725_storage_$dyn_storage_ptr", + "typeString": "struct MultiDelegatedAttestationRequest[]" + } + }, + "visibility": "internal" + } + ], + "src": "10905:82:6" + }, + "returnParameters": { + "id": 1863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1862, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1864, + "src": "11014:16:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1860, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11014:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1861, + "nodeType": "ArrayTypeName", + "src": "11014:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "11013:18:6" + }, + "scope": 1964, + "src": "10873:159:6", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1865, + "nodeType": "StructuredDocumentation", + "src": "11038:450:6", + "text": "@notice Revokes an existing attestation to a specific schema.\n @param request The arguments of the revocation request.\n Example:\n revoke({\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: {\n uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d',\n value: 0\n }\n })" + }, + "functionSelector": "46926267", + "id": 1871, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revoke", + "nameLocation": "11502:6:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1868, + "mutability": "mutable", + "name": "request", + "nameLocation": "11536:7:6", + "nodeType": "VariableDeclaration", + "scope": 1871, + "src": "11509:34:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RevocationRequest_$1738_calldata_ptr", + "typeString": "struct RevocationRequest" + }, + "typeName": { + "id": 1867, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1866, + "name": "RevocationRequest", + "nameLocations": [ + "11509:17:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1738, + "src": "11509:17:6" + }, + "referencedDeclaration": 1738, + "src": "11509:17:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RevocationRequest_$1738_storage_ptr", + "typeString": "struct RevocationRequest" + } + }, + "visibility": "internal" + } + ], + "src": "11508:36:6" + }, + "returnParameters": { + "id": 1870, + "nodeType": "ParameterList", + "parameters": [], + "src": "11561:0:6" + }, + "scope": 1964, + "src": "11493:69:6", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1872, + "nodeType": "StructuredDocumentation", + "src": "11568:777:6", + "text": "@notice Revokes an existing attestation to a specific schema via the provided ECDSA signature.\n @param delegatedRequest The arguments of the delegated revocation request.\n Example:\n revokeByDelegation({\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: {\n uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba',\n value: 0\n },\n signature: {\n v: 27,\n r: '0xb593...7142',\n s: '0x0f5b...2cce'\n },\n revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',\n deadline: 1673891048\n })" + }, + "functionSelector": "a6d4dbc7", + "id": 1878, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revokeByDelegation", + "nameLocation": "12359:18:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1875, + "mutability": "mutable", + "name": "delegatedRequest", + "nameLocation": "12414:16:6", + "nodeType": "VariableDeclaration", + "scope": 1878, + "src": "12378:52:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DelegatedRevocationRequest_$1752_calldata_ptr", + "typeString": "struct DelegatedRevocationRequest" + }, + "typeName": { + "id": 1874, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1873, + "name": "DelegatedRevocationRequest", + "nameLocations": [ + "12378:26:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1752, + "src": "12378:26:6" + }, + "referencedDeclaration": 1752, + "src": "12378:26:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DelegatedRevocationRequest_$1752_storage_ptr", + "typeString": "struct DelegatedRevocationRequest" + } + }, + "visibility": "internal" + } + ], + "src": "12377:54:6" + }, + "returnParameters": { + "id": 1877, + "nodeType": "ParameterList", + "parameters": [], + "src": "12448:0:6" + }, + "scope": 1964, + "src": "12350:99:6", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1879, + "nodeType": "StructuredDocumentation", + "src": "12455:1039:6", + "text": "@notice Revokes existing attestations to multiple schemas.\n @param multiRequests The arguments of the multi revocation requests. The requests should be grouped by distinct\n schema ids to benefit from the best batching optimization.\n Example:\n multiRevoke([{\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: [{\n uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',\n value: 1000\n },\n {\n uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',\n value: 0\n }],\n },\n {\n schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',\n data: [{\n uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019',\n value: 0\n },\n }])" + }, + "functionSelector": "4cb7e9e5", + "id": 1886, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "multiRevoke", + "nameLocation": "13508:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1883, + "mutability": "mutable", + "name": "multiRequests", + "nameLocation": "13554:13:6", + "nodeType": "VariableDeclaration", + "scope": 1886, + "src": "13520:47:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MultiRevocationRequest_$1760_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct MultiRevocationRequest[]" + }, + "typeName": { + "baseType": { + "id": 1881, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1880, + "name": "MultiRevocationRequest", + "nameLocations": [ + "13520:22:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1760, + "src": "13520:22:6" + }, + "referencedDeclaration": 1760, + "src": "13520:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiRevocationRequest_$1760_storage_ptr", + "typeString": "struct MultiRevocationRequest" + } + }, + "id": 1882, + "nodeType": "ArrayTypeName", + "src": "13520:24:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MultiRevocationRequest_$1760_storage_$dyn_storage_ptr", + "typeString": "struct MultiRevocationRequest[]" + } + }, + "visibility": "internal" + } + ], + "src": "13519:49:6" + }, + "returnParameters": { + "id": 1885, + "nodeType": "ParameterList", + "parameters": [], + "src": "13585:0:6" + }, + "scope": 1964, + "src": "13499:87:6", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1887, + "nodeType": "StructuredDocumentation", + "src": "13592:1229:6", + "text": "@notice Revokes existing attestations to multiple schemas via provided ECDSA signatures.\n @param multiDelegatedRequests The arguments of the delegated multi revocation attestation requests. The requests\n should be grouped by distinct schema ids to benefit from the best batching optimization.\n Example:\n multiRevokeByDelegation([{\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: [{\n uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',\n value: 1000\n },\n {\n uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',\n value: 0\n }],\n signatures: [{\n v: 28,\n r: '0x148c...b25b',\n s: '0x5a72...be22'\n },\n {\n v: 28,\n r: '0x487s...67bb',\n s: '0x12ad...2366'\n }],\n revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',\n deadline: 1673891048\n }])" + }, + "functionSelector": "0eabf660", + "id": 1894, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "multiRevokeByDelegation", + "nameLocation": "14835:23:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1891, + "mutability": "mutable", + "name": "multiDelegatedRequests", + "nameLocation": "14911:22:6", + "nodeType": "VariableDeclaration", + "scope": 1894, + "src": "14868:65:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MultiDelegatedRevocationRequest_$1776_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct MultiDelegatedRevocationRequest[]" + }, + "typeName": { + "baseType": { + "id": 1889, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1888, + "name": "MultiDelegatedRevocationRequest", + "nameLocations": [ + "14868:31:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1776, + "src": "14868:31:6" + }, + "referencedDeclaration": 1776, + "src": "14868:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiDelegatedRevocationRequest_$1776_storage_ptr", + "typeString": "struct MultiDelegatedRevocationRequest" + } + }, + "id": 1890, + "nodeType": "ArrayTypeName", + "src": "14868:33:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MultiDelegatedRevocationRequest_$1776_storage_$dyn_storage_ptr", + "typeString": "struct MultiDelegatedRevocationRequest[]" + } + }, + "visibility": "internal" + } + ], + "src": "14858:81:6" + }, + "returnParameters": { + "id": 1893, + "nodeType": "ParameterList", + "parameters": [], + "src": "14956:0:6" + }, + "scope": 1964, + "src": "14826:131:6", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1895, + "nodeType": "StructuredDocumentation", + "src": "14963:154:6", + "text": "@notice Timestamps the specified bytes32 data.\n @param data The data to timestamp.\n @return The timestamp the data was timestamped with." + }, + "functionSelector": "4d003070", + "id": 1902, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "timestamp", + "nameLocation": "15131:9:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1898, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1897, + "mutability": "mutable", + "name": "data", + "nameLocation": "15149:4:6", + "nodeType": "VariableDeclaration", + "scope": 1902, + "src": "15141:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1896, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15141:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "15140:14:6" + }, + "returnParameters": { + "id": 1901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1900, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1902, + "src": "15173:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1899, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "15173:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "15172:8:6" + }, + "scope": 1964, + "src": "15122:59:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1903, + "nodeType": "StructuredDocumentation", + "src": "15187:163:6", + "text": "@notice Timestamps the specified multiple bytes32 data.\n @param data The data to timestamp.\n @return The timestamp the data was timestamped with." + }, + "functionSelector": "e71ff365", + "id": 1911, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "multiTimestamp", + "nameLocation": "15364:14:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1906, + "mutability": "mutable", + "name": "data", + "nameLocation": "15398:4:6", + "nodeType": "VariableDeclaration", + "scope": 1911, + "src": "15379:23:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1904, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15379:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1905, + "nodeType": "ArrayTypeName", + "src": "15379:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "15378:25:6" + }, + "returnParameters": { + "id": 1910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1909, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1911, + "src": "15422:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1908, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "15422:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "15421:8:6" + }, + "scope": 1964, + "src": "15355:75:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1912, + "nodeType": "StructuredDocumentation", + "src": "15436:147:6", + "text": "@notice Revokes the specified bytes32 data.\n @param data The data to timestamp.\n @return The timestamp the data was revoked with." + }, + "functionSelector": "cf190f34", + "id": 1919, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revokeOffchain", + "nameLocation": "15597:14:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1914, + "mutability": "mutable", + "name": "data", + "nameLocation": "15620:4:6", + "nodeType": "VariableDeclaration", + "scope": 1919, + "src": "15612:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1913, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15612:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "15611:14:6" + }, + "returnParameters": { + "id": 1918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1917, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1919, + "src": "15644:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1916, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "15644:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "15643:8:6" + }, + "scope": 1964, + "src": "15588:64:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1920, + "nodeType": "StructuredDocumentation", + "src": "15658:156:6", + "text": "@notice Revokes the specified multiple bytes32 data.\n @param data The data to timestamp.\n @return The timestamp the data was revoked with." + }, + "functionSelector": "13893f61", + "id": 1928, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "multiRevokeOffchain", + "nameLocation": "15828:19:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1923, + "mutability": "mutable", + "name": "data", + "nameLocation": "15867:4:6", + "nodeType": "VariableDeclaration", + "scope": 1928, + "src": "15848:23:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1921, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15848:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1922, + "nodeType": "ArrayTypeName", + "src": "15848:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "15847:25:6" + }, + "returnParameters": { + "id": 1927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1926, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1928, + "src": "15891:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1925, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "15891:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "15890:8:6" + }, + "scope": 1964, + "src": "15819:80:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1929, + "nodeType": "StructuredDocumentation", + "src": "15905:156:6", + "text": "@notice Returns an existing attestation by UID.\n @param uid The UID of the attestation to retrieve.\n @return The attestation data members." + }, + "functionSelector": "a3112a64", + "id": 1937, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAttestation", + "nameLocation": "16075:14:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1932, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1931, + "mutability": "mutable", + "name": "uid", + "nameLocation": "16098:3:6", + "nodeType": "VariableDeclaration", + "scope": 1937, + "src": "16090:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1930, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16090:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16089:13:6" + }, + "returnParameters": { + "id": 1936, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1935, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1937, + "src": "16126:18:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_memory_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 1934, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1933, + "name": "Attestation", + "nameLocations": [ + "16126:11:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "16126:11:6" + }, + "referencedDeclaration": 1641, + "src": "16126:11:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + } + ], + "src": "16125:20:6" + }, + "scope": 1964, + "src": "16066:80:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1938, + "nodeType": "StructuredDocumentation", + "src": "16152:155:6", + "text": "@notice Checks whether an attestation exists.\n @param uid The UID of the attestation to retrieve.\n @return Whether an attestation exists." + }, + "functionSelector": "e30bb563", + "id": 1945, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isAttestationValid", + "nameLocation": "16321:18:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1941, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1940, + "mutability": "mutable", + "name": "uid", + "nameLocation": "16348:3:6", + "nodeType": "VariableDeclaration", + "scope": 1945, + "src": "16340:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1939, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16340:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16339:13:6" + }, + "returnParameters": { + "id": 1944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1943, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1945, + "src": "16376:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1942, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16376:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16375:6:6" + }, + "scope": 1964, + "src": "16312:70:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1946, + "nodeType": "StructuredDocumentation", + "src": "16388:179:6", + "text": "@notice Returns the timestamp that the specified data was timestamped with.\n @param data The data to query.\n @return The timestamp the data was timestamped with." + }, + "functionSelector": "d45c4435", + "id": 1953, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getTimestamp", + "nameLocation": "16581:12:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1948, + "mutability": "mutable", + "name": "data", + "nameLocation": "16602:4:6", + "nodeType": "VariableDeclaration", + "scope": 1953, + "src": "16594:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1947, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16594:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16593:14:6" + }, + "returnParameters": { + "id": 1952, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1951, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1953, + "src": "16631:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1950, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "16631:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "16630:8:6" + }, + "scope": 1964, + "src": "16572:67:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1954, + "nodeType": "StructuredDocumentation", + "src": "16645:179:6", + "text": "@notice Returns the timestamp that the specified data was timestamped with.\n @param data The data to query.\n @return The timestamp the data was timestamped with." + }, + "functionSelector": "b469318d", + "id": 1963, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRevokeOffchain", + "nameLocation": "16838:17:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1956, + "mutability": "mutable", + "name": "revoker", + "nameLocation": "16864:7:6", + "nodeType": "VariableDeclaration", + "scope": 1963, + "src": "16856:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16856:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1958, + "mutability": "mutable", + "name": "data", + "nameLocation": "16881:4:6", + "nodeType": "VariableDeclaration", + "scope": 1963, + "src": "16873:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1957, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16873:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "16855:31:6" + }, + "returnParameters": { + "id": 1962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1961, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1963, + "src": "16910:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1960, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "16910:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "16909:8:6" + }, + "scope": 1964, + "src": "16829:89:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1965, + "src": "4065:12855:6", + "usedErrors": [], + "usedEvents": [ + 1790, + 1801, + 1808, + 1817 + ] + } + ], + "src": "33:16887:6" + }, + "id": 6 + }, + "EAS/ISchemaRegistry.sol": { + "ast": { + "absolutePath": "EAS/ISchemaRegistry.sol", + "exportedSymbols": { + "ISchemaRegistry": [ + 2017 + ], + "ISchemaResolver": [ + 2077 + ], + "ISemver": [ + 2087 + ], + "SchemaRecord": [ + 1981 + ] + }, + "id": 2018, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1966, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:7" + }, + { + "absolutePath": "EAS/ISemver.sol", + "file": "./ISemver.sol", + "id": 1968, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2018, + "sourceUnit": 2088, + "src": "58:40:7", + "symbolAliases": [ + { + "foreign": { + "id": 1967, + "name": "ISemver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "67:7:7", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/ISchemaResolver.sol", + "file": "./ISchemaResolver.sol", + "id": 1970, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2018, + "sourceUnit": 2078, + "src": "100:56:7", + "symbolAliases": [ + { + "foreign": { + "id": 1969, + "name": "ISchemaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2077, + "src": "109:15:7", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "canonicalName": "SchemaRecord", + "documentation": { + "id": 1971, + "nodeType": "StructuredDocumentation", + "src": "158:67:7", + "text": "@notice A struct representing a record for a submitted schema." + }, + "id": 1981, + "members": [ + { + "constant": false, + "id": 1973, + "mutability": "mutable", + "name": "uid", + "nameLocation": "259:3:7", + "nodeType": "VariableDeclaration", + "scope": 1981, + "src": "251:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1972, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "251:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1976, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "324:8:7", + "nodeType": "VariableDeclaration", + "scope": 1981, + "src": "308:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISchemaResolver_$2077", + "typeString": "contract ISchemaResolver" + }, + "typeName": { + "id": 1975, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1974, + "name": "ISchemaResolver", + "nameLocations": [ + "308:15:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2077, + "src": "308:15:7" + }, + "referencedDeclaration": 2077, + "src": "308:15:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISchemaResolver_$2077", + "typeString": "contract ISchemaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1978, + "mutability": "mutable", + "name": "revocable", + "nameLocation": "372:9:7", + "nodeType": "VariableDeclaration", + "scope": 1981, + "src": "367:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1977, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "367:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1980, + "mutability": "mutable", + "name": "schema", + "nameLocation": "447:6:7", + "nodeType": "VariableDeclaration", + "scope": 1981, + "src": "440:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1979, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "440:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "SchemaRecord", + "nameLocation": "232:12:7", + "nodeType": "StructDefinition", + "scope": 2018, + "src": "225:285:7", + "visibility": "public" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1983, + "name": "ISemver", + "nameLocations": [ + "671:7:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2087, + "src": "671:7:7" + }, + "id": 1984, + "nodeType": "InheritanceSpecifier", + "src": "671:7:7" + } + ], + "canonicalName": "ISchemaRegistry", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1982, + "nodeType": "StructuredDocumentation", + "src": "512:130:7", + "text": "@title ISchemaRegistry\n @notice The interface of global attestation schemas for the Ethereum Attestation Service protocol." + }, + "fullyImplemented": false, + "id": 2017, + "linearizedBaseContracts": [ + 2017, + 2087 + ], + "name": "ISchemaRegistry", + "nameLocation": "652:15:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 1985, + "nodeType": "StructuredDocumentation", + "src": "685:213:7", + "text": "@notice Emitted when a new schema has been registered\n @param uid The schema UID.\n @param registerer The address of the account used to register the schema.\n @param schema The schema data." + }, + "eventSelector": "d0b86852e21f9e5fa4bc3b0cff9757ffe243d50c4b43968a42202153d651ea5e", + "id": 1994, + "name": "Registered", + "nameLocation": "909:10:7", + "nodeType": "EventDefinition", + "parameters": { + "id": 1993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1987, + "indexed": true, + "mutability": "mutable", + "name": "uid", + "nameLocation": "936:3:7", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "920:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "920:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1989, + "indexed": true, + "mutability": "mutable", + "name": "registerer", + "nameLocation": "957:10:7", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "941:26:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "941:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1992, + "indexed": false, + "mutability": "mutable", + "name": "schema", + "nameLocation": "982:6:7", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "969:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SchemaRecord_$1981_memory_ptr", + "typeString": "struct SchemaRecord" + }, + "typeName": { + "id": 1991, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1990, + "name": "SchemaRecord", + "nameLocations": [ + "969:12:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1981, + "src": "969:12:7" + }, + "referencedDeclaration": 1981, + "src": "969:12:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SchemaRecord_$1981_storage_ptr", + "typeString": "struct SchemaRecord" + } + }, + "visibility": "internal" + } + ], + "src": "919:70:7" + }, + "src": "903:87:7" + }, + { + "documentation": { + "id": 1995, + "nodeType": "StructuredDocumentation", + "src": "996:262:7", + "text": "@notice Submits and reserves a new schema\n @param schema The schema data schema.\n @param resolver An optional schema resolver.\n @param revocable Whether the schema allows revocations explicitly.\n @return The UID of the new schema." + }, + "functionSelector": "60d7a278", + "id": 2007, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "register", + "nameLocation": "1272:8:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1997, + "mutability": "mutable", + "name": "schema", + "nameLocation": "1297:6:7", + "nodeType": "VariableDeclaration", + "scope": 2007, + "src": "1281:22:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1996, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1281:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2000, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "1321:8:7", + "nodeType": "VariableDeclaration", + "scope": 2007, + "src": "1305:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISchemaResolver_$2077", + "typeString": "contract ISchemaResolver" + }, + "typeName": { + "id": 1999, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1998, + "name": "ISchemaResolver", + "nameLocations": [ + "1305:15:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2077, + "src": "1305:15:7" + }, + "referencedDeclaration": 2077, + "src": "1305:15:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISchemaResolver_$2077", + "typeString": "contract ISchemaResolver" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2002, + "mutability": "mutable", + "name": "revocable", + "nameLocation": "1336:9:7", + "nodeType": "VariableDeclaration", + "scope": 2007, + "src": "1331:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2001, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1331:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1280:66:7" + }, + "returnParameters": { + "id": 2006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2005, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2007, + "src": "1365:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2004, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1365:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1364:9:7" + }, + "scope": 2017, + "src": "1263:111:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2008, + "nodeType": "StructuredDocumentation", + "src": "1380:140:7", + "text": "@notice Returns an existing schema by UID\n @param uid The UID of the schema to retrieve.\n @return The schema data members." + }, + "functionSelector": "a2ea7c6e", + "id": 2016, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getSchema", + "nameLocation": "1534:9:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2011, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2010, + "mutability": "mutable", + "name": "uid", + "nameLocation": "1552:3:7", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "1544:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2009, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1544:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1543:13:7" + }, + "returnParameters": { + "id": 2015, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2014, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "1580:19:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SchemaRecord_$1981_memory_ptr", + "typeString": "struct SchemaRecord" + }, + "typeName": { + "id": 2013, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2012, + "name": "SchemaRecord", + "nameLocations": [ + "1580:12:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1981, + "src": "1580:12:7" + }, + "referencedDeclaration": 1981, + "src": "1580:12:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SchemaRecord_$1981_storage_ptr", + "typeString": "struct SchemaRecord" + } + }, + "visibility": "internal" + } + ], + "src": "1579:21:7" + }, + "scope": 2017, + "src": "1525:76:7", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2018, + "src": "642:961:7", + "usedErrors": [], + "usedEvents": [ + 1994 + ] + } + ], + "src": "33:1570:7" + }, + "id": 7 + }, + "EAS/ISchemaResolver.sol": { + "ast": { + "absolutePath": "EAS/ISchemaResolver.sol", + "exportedSymbols": { + "Attestation": [ + 1641 + ], + "ISchemaResolver": [ + 2077 + ], + "ISemver": [ + 2087 + ] + }, + "id": 2078, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2019, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:8" + }, + { + "absolutePath": "EAS/Common.sol", + "file": "./Common.sol", + "id": 2021, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2078, + "sourceUnit": 1658, + "src": "58:43:8", + "symbolAliases": [ + { + "foreign": { + "id": 2020, + "name": "Attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "67:11:8", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/ISemver.sol", + "file": "./ISemver.sol", + "id": 2023, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2078, + "sourceUnit": 2088, + "src": "102:40:8", + "symbolAliases": [ + { + "foreign": { + "id": 2022, + "name": "ISemver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "111:7:8", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2025, + "name": "ISemver", + "nameLocations": [ + "258:7:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2087, + "src": "258:7:8" + }, + "id": 2026, + "nodeType": "InheritanceSpecifier", + "src": "258:7:8" + } + ], + "canonicalName": "ISchemaResolver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2024, + "nodeType": "StructuredDocumentation", + "src": "144:85:8", + "text": "@title ISchemaResolver\n @notice The interface of an optional schema resolver." + }, + "fullyImplemented": false, + "id": 2077, + "linearizedBaseContracts": [ + 2077, + 2087 + ], + "name": "ISchemaResolver", + "nameLocation": "239:15:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 2027, + "nodeType": "StructuredDocumentation", + "src": "272:112:8", + "text": "@notice Checks if the resolver can be sent ETH.\n @return Whether the resolver supports ETH transfers." + }, + "functionSelector": "ce46e046", + "id": 2032, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isPayable", + "nameLocation": "398:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2028, + "nodeType": "ParameterList", + "parameters": [], + "src": "407:2:8" + }, + "returnParameters": { + "id": 2031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2030, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2032, + "src": "433:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2029, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "433:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "432:6:8" + }, + "scope": 2077, + "src": "389:50:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2033, + "nodeType": "StructuredDocumentation", + "src": "445:167:8", + "text": "@notice Processes an attestation and verifies whether it's valid.\n @param attestation The new attestation.\n @return Whether the attestation is valid." + }, + "functionSelector": "e60c3505", + "id": 2041, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "attest", + "nameLocation": "626:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2036, + "mutability": "mutable", + "name": "attestation", + "nameLocation": "654:11:8", + "nodeType": "VariableDeclaration", + "scope": 2041, + "src": "633:32:8", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 2035, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2034, + "name": "Attestation", + "nameLocations": [ + "633:11:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "633:11:8" + }, + "referencedDeclaration": 1641, + "src": "633:11:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + } + ], + "src": "632:34:8" + }, + "returnParameters": { + "id": 2040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2039, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2041, + "src": "693:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2038, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "693:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "692:6:8" + }, + "scope": 2077, + "src": "617:82:8", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2042, + "nodeType": "StructuredDocumentation", + "src": "705:268:8", + "text": "@notice Processes multiple attestations and verifies whether they are valid.\n @param attestations The new attestations.\n @param values Explicit ETH amounts which were sent with each attestation.\n @return Whether all the attestations are valid." + }, + "functionSelector": "91db0b7e", + "id": 2054, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "multiAttest", + "nameLocation": "987:11:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2046, + "mutability": "mutable", + "name": "attestations", + "nameLocation": "1031:12:8", + "nodeType": "VariableDeclaration", + "scope": 2054, + "src": "1008:35:8", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct Attestation[]" + }, + "typeName": { + "baseType": { + "id": 2044, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2043, + "name": "Attestation", + "nameLocations": [ + "1008:11:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "1008:11:8" + }, + "referencedDeclaration": 1641, + "src": "1008:11:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "id": 2045, + "nodeType": "ArrayTypeName", + "src": "1008:13:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_storage_$dyn_storage_ptr", + "typeString": "struct Attestation[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2049, + "mutability": "mutable", + "name": "values", + "nameLocation": "1072:6:8", + "nodeType": "VariableDeclaration", + "scope": 2054, + "src": "1053:25:8", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1053:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2048, + "nodeType": "ArrayTypeName", + "src": "1053:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "998:86:8" + }, + "returnParameters": { + "id": 2053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2052, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2054, + "src": "1111:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2051, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1111:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1110:6:8" + }, + "scope": 2077, + "src": "978:139:8", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2055, + "nodeType": "StructuredDocumentation", + "src": "1123:205:8", + "text": "@notice Processes an attestation revocation and verifies if it can be revoked.\n @param attestation The existing attestation to be revoked.\n @return Whether the attestation can be revoked." + }, + "functionSelector": "e49617e1", + "id": 2063, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revoke", + "nameLocation": "1342:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2058, + "mutability": "mutable", + "name": "attestation", + "nameLocation": "1370:11:8", + "nodeType": "VariableDeclaration", + "scope": 2063, + "src": "1349:32:8", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 2057, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2056, + "name": "Attestation", + "nameLocations": [ + "1349:11:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "1349:11:8" + }, + "referencedDeclaration": 1641, + "src": "1349:11:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + } + ], + "src": "1348:34:8" + }, + "returnParameters": { + "id": 2062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2061, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2063, + "src": "1409:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2060, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1409:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1408:6:8" + }, + "scope": 2077, + "src": "1333:82:8", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2064, + "nodeType": "StructuredDocumentation", + "src": "1421:297:8", + "text": "@notice Processes revocation of multiple attestation and verifies they can be revoked.\n @param attestations The existing attestations to be revoked.\n @param values Explicit ETH amounts which were sent with each revocation.\n @return Whether the attestations can be revoked." + }, + "functionSelector": "88e5b2d9", + "id": 2076, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "multiRevoke", + "nameLocation": "1732:11:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2068, + "mutability": "mutable", + "name": "attestations", + "nameLocation": "1776:12:8", + "nodeType": "VariableDeclaration", + "scope": 2076, + "src": "1753:35:8", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct Attestation[]" + }, + "typeName": { + "baseType": { + "id": 2066, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2065, + "name": "Attestation", + "nameLocations": [ + "1753:11:8" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "1753:11:8" + }, + "referencedDeclaration": 1641, + "src": "1753:11:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "id": 2067, + "nodeType": "ArrayTypeName", + "src": "1753:13:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_storage_$dyn_storage_ptr", + "typeString": "struct Attestation[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2071, + "mutability": "mutable", + "name": "values", + "nameLocation": "1817:6:8", + "nodeType": "VariableDeclaration", + "scope": 2076, + "src": "1798:25:8", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2069, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1798:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2070, + "nodeType": "ArrayTypeName", + "src": "1798:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1743:86:8" + }, + "returnParameters": { + "id": 2075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2074, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2076, + "src": "1856:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2073, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1856:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1855:6:8" + }, + "scope": 2077, + "src": "1723:139:8", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2078, + "src": "229:1635:8", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "33:1831:8" + }, + "id": 8 + }, + "EAS/ISemver.sol": { + "ast": { + "absolutePath": "EAS/ISemver.sol", + "exportedSymbols": { + "ISemver": [ + 2087 + ] + }, + "id": 2088, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2079, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:23:9" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ISemver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2080, + "nodeType": "StructuredDocumentation", + "src": "58:51:9", + "text": "@title ISemver\n @notice A semver interface." + }, + "fullyImplemented": false, + "id": 2087, + "linearizedBaseContracts": [ + 2087 + ], + "name": "ISemver", + "nameLocation": "119:7:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 2081, + "nodeType": "StructuredDocumentation", + "src": "133:106:9", + "text": "@notice Returns the full semver contract version.\n @return Semver contract version as a string." + }, + "functionSelector": "54fd4d50", + "id": 2086, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "version", + "nameLocation": "253:7:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2082, + "nodeType": "ParameterList", + "parameters": [], + "src": "260:2:9" + }, + "returnParameters": { + "id": 2085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2084, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2086, + "src": "286:13:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2083, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "286:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "285:15:9" + }, + "scope": 2087, + "src": "244:57:9", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2088, + "src": "109:194:9", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "33:270:9" + }, + "id": 9 + }, + "EAS/SchemaResolver.sol": { + "ast": { + "absolutePath": "EAS/SchemaResolver.sol", + "exportedSymbols": { + "AccessDenied": [ + 1601 + ], + "Attestation": [ + 1641 + ], + "IEAS": [ + 1964 + ], + "ISchemaResolver": [ + 2077 + ], + "InvalidEAS": [ + 1605 + ], + "InvalidLength": [ + 1607 + ], + "SchemaResolver": [ + 2414 + ], + "Semver": [ + 2481 + ], + "uncheckedInc": [ + 1657 + ] + }, + "id": 2415, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2089, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "33:23:10" + }, + { + "absolutePath": "EAS/Common.sol", + "file": "./Common.sol", + "id": 2094, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2415, + "sourceUnit": 1658, + "src": "58:85:10", + "symbolAliases": [ + { + "foreign": { + "id": 2090, + "name": "AccessDenied", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "67:12:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 2091, + "name": "InvalidEAS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1605, + "src": "81:10:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 2092, + "name": "InvalidLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1607, + "src": "93:13:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 2093, + "name": "uncheckedInc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1657, + "src": "108:12:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/IEAS.sol", + "file": "./IEAS.sol", + "id": 2097, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2415, + "sourceUnit": 1965, + "src": "144:47:10", + "symbolAliases": [ + { + "foreign": { + "id": 2095, + "name": "IEAS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1964, + "src": "153:4:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 2096, + "name": "Attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "159:11:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/Semver.sol", + "file": "./Semver.sol", + "id": 2099, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2415, + "sourceUnit": 2482, + "src": "192:38:10", + "symbolAliases": [ + { + "foreign": { + "id": 2098, + "name": "Semver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2481, + "src": "201:6:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/ISchemaResolver.sol", + "file": "./ISchemaResolver.sol", + "id": 2101, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2415, + "sourceUnit": 2078, + "src": "231:56:10", + "symbolAliases": [ + { + "foreign": { + "id": 2100, + "name": "ISchemaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2077, + "src": "240:15:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 2103, + "name": "ISchemaResolver", + "nameLocations": [ + "398:15:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2077, + "src": "398:15:10" + }, + "id": 2104, + "nodeType": "InheritanceSpecifier", + "src": "398:15:10" + }, + { + "baseName": { + "id": 2105, + "name": "Semver", + "nameLocations": [ + "415:6:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2481, + "src": "415:6:10" + }, + "id": 2106, + "nodeType": "InheritanceSpecifier", + "src": "415:6:10" + } + ], + "canonicalName": "SchemaResolver", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2102, + "nodeType": "StructuredDocumentation", + "src": "289:73:10", + "text": "@title SchemaResolver\n @notice The base schema resolver contract." + }, + "fullyImplemented": false, + "id": 2414, + "linearizedBaseContracts": [ + 2414, + 2481, + 2077, + 2087 + ], + "name": "SchemaResolver", + "nameLocation": "380:14:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "errorSelector": "11011294", + "id": 2108, + "name": "InsufficientValue", + "nameLocation": "434:17:10", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 2107, + "nodeType": "ParameterList", + "parameters": [], + "src": "451:2:10" + }, + "src": "428:26:10" + }, + { + "errorSelector": "1574f9f3", + "id": 2110, + "name": "NotPayable", + "nameLocation": "465:10:10", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 2109, + "nodeType": "ParameterList", + "parameters": [], + "src": "475:2:10" + }, + "src": "459:19:10" + }, + { + "constant": false, + "id": 2113, + "mutability": "immutable", + "name": "_eas", + "nameLocation": "540:4:10", + "nodeType": "VariableDeclaration", + "scope": 2414, + "src": "516:28:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + }, + "typeName": { + "id": 2112, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2111, + "name": "IEAS", + "nameLocations": [ + "516:4:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1964, + "src": "516:4:10" + }, + "referencedDeclaration": 1964, + "src": "516:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 2143, + "nodeType": "Block", + "src": "685:113:10", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2127, + "name": "eas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2117, + "src": "707:3:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + ], + "id": 2126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "699:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "699:7:10", + "typeDescriptions": {} + } + }, + "id": 2128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "699:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "723:1:10", + "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": 2130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "715:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "715:7:10", + "typeDescriptions": {} + } + }, + "id": 2132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "715:10:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "699:26:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2138, + "nodeType": "IfStatement", + "src": "695:76:10", + "trueBody": { + "id": 2137, + "nodeType": "Block", + "src": "727:44:10", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2134, + "name": "InvalidEAS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1605, + "src": "748:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 2135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "748:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 2136, + "nodeType": "RevertStatement", + "src": "741:19:10" + } + ] + } + }, + { + "expression": { + "id": 2141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2139, + "name": "_eas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2113, + "src": "781:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2140, + "name": "eas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2117, + "src": "788:3:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + }, + "src": "781:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + }, + "id": 2142, + "nodeType": "ExpressionStatement", + "src": "781:10:10" + } + ] + }, + "documentation": { + "id": 2114, + "nodeType": "StructuredDocumentation", + "src": "551:91:10", + "text": "@dev Creates a new resolver.\n @param eas The address of the global EAS contract." + }, + "id": 2144, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "31", + "id": 2120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "676:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "hexValue": "33", + "id": 2121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "679:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + { + "hexValue": "30", + "id": 2122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "682:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 2123, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2119, + "name": "Semver", + "nameLocations": [ + "669:6:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2481, + "src": "669:6:10" + }, + "nodeType": "ModifierInvocation", + "src": "669:15:10" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2117, + "mutability": "mutable", + "name": "eas", + "nameLocation": "664:3:10", + "nodeType": "VariableDeclaration", + "scope": 2144, + "src": "659:8:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + }, + "typeName": { + "id": 2116, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2115, + "name": "IEAS", + "nameLocations": [ + "659:4:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1964, + "src": "659:4:10" + }, + "referencedDeclaration": 1964, + "src": "659:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + }, + "visibility": "internal" + } + ], + "src": "658:10:10" + }, + "returnParameters": { + "id": 2124, + "nodeType": "ParameterList", + "parameters": [], + "src": "685:0:10" + }, + "scope": 2414, + "src": "647:151:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2151, + "nodeType": "Block", + "src": "891:39:10", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2147, + "name": "_onlyEAS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2413, + "src": "901:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "901:10:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2149, + "nodeType": "ExpressionStatement", + "src": "901:10:10" + }, + { + "id": 2150, + "nodeType": "PlaceholderStatement", + "src": "922:1:10" + } + ] + }, + "documentation": { + "id": 2145, + "nodeType": "StructuredDocumentation", + "src": "804:63:10", + "text": "@dev Ensures that only the EAS contract can make this call." + }, + "id": 2152, + "name": "onlyEAS", + "nameLocation": "881:7:10", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2146, + "nodeType": "ParameterList", + "parameters": [], + "src": "888:2:10" + }, + "src": "872:58:10", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 2032 + ], + "body": { + "id": 2160, + "nodeType": "Block", + "src": "1028:29:10", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1045:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2157, + "id": 2159, + "nodeType": "Return", + "src": "1038:12:10" + } + ] + }, + "documentation": { + "id": 2153, + "nodeType": "StructuredDocumentation", + "src": "936:31:10", + "text": "@inheritdoc ISchemaResolver" + }, + "functionSelector": "ce46e046", + "id": 2161, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isPayable", + "nameLocation": "981:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2154, + "nodeType": "ParameterList", + "parameters": [], + "src": "990:2:10" + }, + "returnParameters": { + "id": 2157, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2156, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2161, + "src": "1022:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2155, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1022:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1021:6:10" + }, + "scope": 2414, + "src": "972:85:10", + "stateMutability": "pure", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 2173, + "nodeType": "Block", + "src": "1125:78:10", + "statements": [ + { + "condition": { + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1139:12:10", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2165, + "name": "isPayable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2161, + "src": "1140:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_bool_$", + "typeString": "function () pure returns (bool)" + } + }, + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1140:11:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2172, + "nodeType": "IfStatement", + "src": "1135:62:10", + "trueBody": { + "id": 2171, + "nodeType": "Block", + "src": "1153:44:10", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2168, + "name": "NotPayable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2110, + "src": "1174:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 2169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1174:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 2170, + "nodeType": "RevertStatement", + "src": "1167:19:10" + } + ] + } + } + ] + }, + "documentation": { + "id": 2162, + "nodeType": "StructuredDocumentation", + "src": "1063:22:10", + "text": "@dev ETH callback." + }, + "id": 2174, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2163, + "nodeType": "ParameterList", + "parameters": [], + "src": "1097:2:10" + }, + "returnParameters": { + "id": 2164, + "nodeType": "ParameterList", + "parameters": [], + "src": "1125:0:10" + }, + "scope": 2414, + "src": "1090:113:10", + "stateMutability": "payable", + "virtual": true, + "visibility": "external" + }, + { + "baseFunctions": [ + 2041 + ], + "body": { + "id": 2191, + "nodeType": "Block", + "src": "1335:56:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2186, + "name": "attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2178, + "src": "1361:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + { + "expression": { + "id": 2187, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1374:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1378:5:10", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "1374:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2185, + "name": "onAttest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2385, + "src": "1352:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Attestation_$1641_calldata_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct Attestation calldata,uint256) returns (bool)" + } + }, + "id": 2189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1352:32:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2184, + "id": 2190, + "nodeType": "Return", + "src": "1345:39:10" + } + ] + }, + "documentation": { + "id": 2175, + "nodeType": "StructuredDocumentation", + "src": "1209:31:10", + "text": "@inheritdoc ISchemaResolver" + }, + "functionSelector": "e60c3505", + "id": 2192, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2181, + "kind": "modifierInvocation", + "modifierName": { + "id": 2180, + "name": "onlyEAS", + "nameLocations": [ + "1312:7:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2152, + "src": "1312:7:10" + }, + "nodeType": "ModifierInvocation", + "src": "1312:7:10" + } + ], + "name": "attest", + "nameLocation": "1254:6:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2178, + "mutability": "mutable", + "name": "attestation", + "nameLocation": "1282:11:10", + "nodeType": "VariableDeclaration", + "scope": 2192, + "src": "1261:32:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 2177, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2176, + "name": "Attestation", + "nameLocations": [ + "1261:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "1261:11:10" + }, + "referencedDeclaration": 1641, + "src": "1261:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + } + ], + "src": "1260:34:10" + }, + "returnParameters": { + "id": 2184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2183, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2192, + "src": "1329:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2182, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1329:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1328:6:10" + }, + "scope": 2414, + "src": "1245:146:10", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2054 + ], + "body": { + "id": 2273, + "nodeType": "Block", + "src": "1580:1314:10", + "statements": [ + { + "assignments": [ + 2208 + ], + "declarations": [ + { + "constant": false, + "id": 2208, + "mutability": "mutable", + "name": "length", + "nameLocation": "1598:6:10", + "nodeType": "VariableDeclaration", + "scope": 2273, + "src": "1590:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1590:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2211, + "initialValue": { + "expression": { + "id": 2209, + "name": "attestations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2197, + "src": "1607:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct Attestation calldata[] calldata" + } + }, + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1620:6:10", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1607:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1590:36:10" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2212, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2208, + "src": "1640:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 2213, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2200, + "src": "1650:6:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1657:6:10", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1650:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1640:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2220, + "nodeType": "IfStatement", + "src": "1636:76:10", + "trueBody": { + "id": 2219, + "nodeType": "Block", + "src": "1665:47:10", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2216, + "name": "InvalidLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1607, + "src": "1686:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 2217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1686:15:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 2218, + "nodeType": "RevertStatement", + "src": "1679:22:10" + } + ] + } + }, + { + "assignments": [ + 2222 + ], + "declarations": [ + { + "constant": false, + "id": 2222, + "mutability": "mutable", + "name": "remainingValue", + "nameLocation": "2127:14:10", + "nodeType": "VariableDeclaration", + "scope": 2273, + "src": "2119:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2221, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2119:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2225, + "initialValue": { + "expression": { + "id": 2223, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "2144:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2148:5:10", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "2144:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2119:34:10" + }, + { + "body": { + "id": 2269, + "nodeType": "Block", + "src": "2217:649:10", + "statements": [ + { + "assignments": [ + 2240 + ], + "declarations": [ + { + "constant": false, + "id": 2240, + "mutability": "mutable", + "name": "value", + "nameLocation": "2329:5:10", + "nodeType": "VariableDeclaration", + "scope": 2269, + "src": "2321:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2321:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2244, + "initialValue": { + "baseExpression": { + "id": 2241, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2200, + "src": "2337:6:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2243, + "indexExpression": { + "id": 2242, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "2344:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2337:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2321:25:10" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2245, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2240, + "src": "2364:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2246, + "name": "remainingValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2222, + "src": "2372:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2364:22:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2252, + "nodeType": "IfStatement", + "src": "2360:87:10", + "trueBody": { + "id": 2251, + "nodeType": "Block", + "src": "2388:59:10", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2248, + "name": "InsufficientValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2108, + "src": "2413:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 2249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2413:19:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 2250, + "nodeType": "RevertStatement", + "src": "2406:26:10" + } + ] + } + }, + { + "condition": { + "id": 2259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2575:33:10", + "subExpression": { + "arguments": [ + { + "baseExpression": { + "id": 2254, + "name": "attestations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2197, + "src": "2585:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct Attestation calldata[] calldata" + } + }, + "id": 2256, + "indexExpression": { + "id": 2255, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "2598:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2585:15:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + { + "id": 2257, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2240, + "src": "2602:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2253, + "name": "onAttest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2385, + "src": "2576:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Attestation_$1641_calldata_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct Attestation calldata,uint256) returns (bool)" + } + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2576:32:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2263, + "nodeType": "IfStatement", + "src": "2571:84:10", + "trueBody": { + "id": 2262, + "nodeType": "Block", + "src": "2610:45:10", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2635:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2206, + "id": 2261, + "nodeType": "Return", + "src": "2628:12:10" + } + ] + } + }, + { + "id": 2268, + "nodeType": "UncheckedBlock", + "src": "2669:187:10", + "statements": [ + { + "expression": { + "id": 2266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2264, + "name": "remainingValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2222, + "src": "2818:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 2265, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2240, + "src": "2836:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2818:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2267, + "nodeType": "ExpressionStatement", + "src": "2818:23:10" + } + ] + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2230, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "2184:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2231, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2208, + "src": "2188:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2184:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2270, + "initializationExpression": { + "assignments": [ + 2227 + ], + "declarations": [ + { + "constant": false, + "id": 2227, + "mutability": "mutable", + "name": "i", + "nameLocation": "2177:1:10", + "nodeType": "VariableDeclaration", + "scope": 2270, + "src": "2169:9:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2226, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2169:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2229, + "initialValue": { + "hexValue": "30", + "id": 2228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2181:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2169:13:10" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 2237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2233, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "2196:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2235, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2227, + "src": "2213:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2234, + "name": "uncheckedInc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1657, + "src": "2200:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2200:15:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2196:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2238, + "nodeType": "ExpressionStatement", + "src": "2196:19:10" + }, + "nodeType": "ForStatement", + "src": "2164:702:10" + }, + { + "expression": { + "hexValue": "74727565", + "id": 2271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2883:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2206, + "id": 2272, + "nodeType": "Return", + "src": "2876:11:10" + } + ] + }, + "documentation": { + "id": 2193, + "nodeType": "StructuredDocumentation", + "src": "1397:31:10", + "text": "@inheritdoc ISchemaResolver" + }, + "functionSelector": "91db0b7e", + "id": 2274, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2203, + "kind": "modifierInvocation", + "modifierName": { + "id": 2202, + "name": "onlyEAS", + "nameLocations": [ + "1557:7:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2152, + "src": "1557:7:10" + }, + "nodeType": "ModifierInvocation", + "src": "1557:7:10" + } + ], + "name": "multiAttest", + "nameLocation": "1442:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2197, + "mutability": "mutable", + "name": "attestations", + "nameLocation": "1486:12:10", + "nodeType": "VariableDeclaration", + "scope": 2274, + "src": "1463:35:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct Attestation[]" + }, + "typeName": { + "baseType": { + "id": 2195, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2194, + "name": "Attestation", + "nameLocations": [ + "1463:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "1463:11:10" + }, + "referencedDeclaration": 1641, + "src": "1463:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "id": 2196, + "nodeType": "ArrayTypeName", + "src": "1463:13:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_storage_$dyn_storage_ptr", + "typeString": "struct Attestation[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2200, + "mutability": "mutable", + "name": "values", + "nameLocation": "1527:6:10", + "nodeType": "VariableDeclaration", + "scope": 2274, + "src": "1508:25:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1508:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2199, + "nodeType": "ArrayTypeName", + "src": "1508:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1453:86:10" + }, + "returnParameters": { + "id": 2206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2205, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2274, + "src": "1574:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2204, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1574:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1573:6:10" + }, + "scope": 2414, + "src": "1433:1461:10", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2063 + ], + "body": { + "id": 2291, + "nodeType": "Block", + "src": "3026:56:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2286, + "name": "attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2278, + "src": "3052:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + { + "expression": { + "id": 2287, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3065:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3069:5:10", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "3065:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2285, + "name": "onRevoke", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2396, + "src": "3043:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Attestation_$1641_calldata_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct Attestation calldata,uint256) returns (bool)" + } + }, + "id": 2289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3043:32:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2284, + "id": 2290, + "nodeType": "Return", + "src": "3036:39:10" + } + ] + }, + "documentation": { + "id": 2275, + "nodeType": "StructuredDocumentation", + "src": "2900:31:10", + "text": "@inheritdoc ISchemaResolver" + }, + "functionSelector": "e49617e1", + "id": 2292, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2281, + "kind": "modifierInvocation", + "modifierName": { + "id": 2280, + "name": "onlyEAS", + "nameLocations": [ + "3003:7:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2152, + "src": "3003:7:10" + }, + "nodeType": "ModifierInvocation", + "src": "3003:7:10" + } + ], + "name": "revoke", + "nameLocation": "2945:6:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2278, + "mutability": "mutable", + "name": "attestation", + "nameLocation": "2973:11:10", + "nodeType": "VariableDeclaration", + "scope": 2292, + "src": "2952:32:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 2277, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2276, + "name": "Attestation", + "nameLocations": [ + "2952:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "2952:11:10" + }, + "referencedDeclaration": 1641, + "src": "2952:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + } + ], + "src": "2951:34:10" + }, + "returnParameters": { + "id": 2284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2283, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2292, + "src": "3020:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2282, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3020:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3019:6:10" + }, + "scope": 2414, + "src": "2936:146:10", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2076 + ], + "body": { + "id": 2373, + "nodeType": "Block", + "src": "3271:1313:10", + "statements": [ + { + "assignments": [ + 2308 + ], + "declarations": [ + { + "constant": false, + "id": 2308, + "mutability": "mutable", + "name": "length", + "nameLocation": "3289:6:10", + "nodeType": "VariableDeclaration", + "scope": 2373, + "src": "3281:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3281:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2311, + "initialValue": { + "expression": { + "id": 2309, + "name": "attestations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2297, + "src": "3298:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct Attestation calldata[] calldata" + } + }, + "id": 2310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3311:6:10", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3298:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3281:36:10" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2312, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2308, + "src": "3331:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 2313, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2300, + "src": "3341:6:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3348:6:10", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3341:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3331:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2320, + "nodeType": "IfStatement", + "src": "3327:76:10", + "trueBody": { + "id": 2319, + "nodeType": "Block", + "src": "3356:47:10", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2316, + "name": "InvalidLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1607, + "src": "3377:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 2317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3377:15:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 2318, + "nodeType": "RevertStatement", + "src": "3370:22:10" + } + ] + } + }, + { + "assignments": [ + 2322 + ], + "declarations": [ + { + "constant": false, + "id": 2322, + "mutability": "mutable", + "name": "remainingValue", + "nameLocation": "3818:14:10", + "nodeType": "VariableDeclaration", + "scope": 2373, + "src": "3810:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2321, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3810:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2325, + "initialValue": { + "expression": { + "id": 2323, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3835:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3839:5:10", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "3835:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3810:34:10" + }, + { + "body": { + "id": 2369, + "nodeType": "Block", + "src": "3908:648:10", + "statements": [ + { + "assignments": [ + 2340 + ], + "declarations": [ + { + "constant": false, + "id": 2340, + "mutability": "mutable", + "name": "value", + "nameLocation": "4020:5:10", + "nodeType": "VariableDeclaration", + "scope": 2369, + "src": "4012:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4012:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2344, + "initialValue": { + "baseExpression": { + "id": 2341, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2300, + "src": "4028:6:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2343, + "indexExpression": { + "id": 2342, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2327, + "src": "4035:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4028:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4012:25:10" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2345, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2340, + "src": "4055:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2346, + "name": "remainingValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2322, + "src": "4063:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4055:22:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2352, + "nodeType": "IfStatement", + "src": "4051:87:10", + "trueBody": { + "id": 2351, + "nodeType": "Block", + "src": "4079:59:10", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2348, + "name": "InsufficientValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2108, + "src": "4104:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 2349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4104:19:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 2350, + "nodeType": "RevertStatement", + "src": "4097:26:10" + } + ] + } + }, + { + "condition": { + "id": 2359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4265:33:10", + "subExpression": { + "arguments": [ + { + "baseExpression": { + "id": 2354, + "name": "attestations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2297, + "src": "4275:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct Attestation calldata[] calldata" + } + }, + "id": 2356, + "indexExpression": { + "id": 2355, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2327, + "src": "4288:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4275:15:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + { + "id": 2357, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2340, + "src": "4292:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2353, + "name": "onRevoke", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2396, + "src": "4266:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Attestation_$1641_calldata_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct Attestation calldata,uint256) returns (bool)" + } + }, + "id": 2358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4266:32:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2363, + "nodeType": "IfStatement", + "src": "4261:84:10", + "trueBody": { + "id": 2362, + "nodeType": "Block", + "src": "4300:45:10", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4325:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2306, + "id": 2361, + "nodeType": "Return", + "src": "4318:12:10" + } + ] + } + }, + { + "id": 2368, + "nodeType": "UncheckedBlock", + "src": "4359:187:10", + "statements": [ + { + "expression": { + "id": 2366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2364, + "name": "remainingValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2322, + "src": "4508:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 2365, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2340, + "src": "4526:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4508:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2367, + "nodeType": "ExpressionStatement", + "src": "4508:23:10" + } + ] + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2330, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2327, + "src": "3875:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2331, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2308, + "src": "3879:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3875:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2370, + "initializationExpression": { + "assignments": [ + 2327 + ], + "declarations": [ + { + "constant": false, + "id": 2327, + "mutability": "mutable", + "name": "i", + "nameLocation": "3868:1:10", + "nodeType": "VariableDeclaration", + "scope": 2370, + "src": "3860:9:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3860:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2329, + "initialValue": { + "hexValue": "30", + "id": 2328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3872:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3860:13:10" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 2337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2333, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2327, + "src": "3887:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2335, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2327, + "src": "3904:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2334, + "name": "uncheckedInc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1657, + "src": "3891:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 2336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3891:15:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3887:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2338, + "nodeType": "ExpressionStatement", + "src": "3887:19:10" + }, + "nodeType": "ForStatement", + "src": "3855:701:10" + }, + { + "expression": { + "hexValue": "74727565", + "id": 2371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4573:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2306, + "id": 2372, + "nodeType": "Return", + "src": "4566:11:10" + } + ] + }, + "documentation": { + "id": 2293, + "nodeType": "StructuredDocumentation", + "src": "3088:31:10", + "text": "@inheritdoc ISchemaResolver" + }, + "functionSelector": "88e5b2d9", + "id": 2374, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2303, + "kind": "modifierInvocation", + "modifierName": { + "id": 2302, + "name": "onlyEAS", + "nameLocations": [ + "3248:7:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2152, + "src": "3248:7:10" + }, + "nodeType": "ModifierInvocation", + "src": "3248:7:10" + } + ], + "name": "multiRevoke", + "nameLocation": "3133:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2301, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2297, + "mutability": "mutable", + "name": "attestations", + "nameLocation": "3177:12:10", + "nodeType": "VariableDeclaration", + "scope": 2374, + "src": "3154:35:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct Attestation[]" + }, + "typeName": { + "baseType": { + "id": 2295, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2294, + "name": "Attestation", + "nameLocations": [ + "3154:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "3154:11:10" + }, + "referencedDeclaration": 1641, + "src": "3154:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "id": 2296, + "nodeType": "ArrayTypeName", + "src": "3154:13:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_storage_$dyn_storage_ptr", + "typeString": "struct Attestation[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2300, + "mutability": "mutable", + "name": "values", + "nameLocation": "3218:6:10", + "nodeType": "VariableDeclaration", + "scope": 2374, + "src": "3199:25:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3199:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2299, + "nodeType": "ArrayTypeName", + "src": "3199:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "3144:86:10" + }, + "returnParameters": { + "id": 2306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2305, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2374, + "src": "3265:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2304, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3265:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3264:6:10" + }, + "scope": 2414, + "src": "3124:1460:10", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2375, + "nodeType": "StructuredDocumentation", + "src": "4590:562:10", + "text": "@notice A resolver callback that should be implemented by child contracts.\n @param attestation The new attestation.\n @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in\n both attest() and multiAttest() callbacks EAS-only callbacks and that in case of multi attestations, it'll\n usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the\n attestations in the batch.\n @return Whether the attestation is valid." + }, + "id": 2385, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onAttest", + "nameLocation": "5166:8:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2378, + "mutability": "mutable", + "name": "attestation", + "nameLocation": "5196:11:10", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "5175:32:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 2377, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2376, + "name": "Attestation", + "nameLocations": [ + "5175:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "5175:11:10" + }, + "referencedDeclaration": 1641, + "src": "5175:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2380, + "mutability": "mutable", + "name": "value", + "nameLocation": "5217:5:10", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "5209:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5209:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5174:49:10" + }, + "returnParameters": { + "id": 2384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2383, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2385, + "src": "5250:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2382, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5250:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5249:6:10" + }, + "scope": 2414, + "src": "5157:99:10", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "documentation": { + "id": 2386, + "nodeType": "StructuredDocumentation", + "src": "5262:591:10", + "text": "@notice Processes an attestation revocation and verifies if it can be revoked.\n @param attestation The existing attestation to be revoked.\n @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in\n both revoke() and multiRevoke() callbacks EAS-only callbacks and that in case of multi attestations, it'll\n usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the\n attestations in the batch.\n @return Whether the attestation can be revoked." + }, + "id": 2396, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onRevoke", + "nameLocation": "5867:8:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2392, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2389, + "mutability": "mutable", + "name": "attestation", + "nameLocation": "5897:11:10", + "nodeType": "VariableDeclaration", + "scope": 2396, + "src": "5876:32:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 2388, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2387, + "name": "Attestation", + "nameLocations": [ + "5876:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "5876:11:10" + }, + "referencedDeclaration": 1641, + "src": "5876:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2391, + "mutability": "mutable", + "name": "value", + "nameLocation": "5918:5:10", + "nodeType": "VariableDeclaration", + "scope": 2396, + "src": "5910:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5910:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5875:49:10" + }, + "returnParameters": { + "id": 2395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2394, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2396, + "src": "5951:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2393, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5951:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5950:6:10" + }, + "scope": 2414, + "src": "5858:99:10", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2412, + "nodeType": "Block", + "src": "6064:95:10", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2400, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "6078:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6082:6:10", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6078:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 2404, + "name": "_eas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2113, + "src": "6100:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + ], + "id": 2403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6092:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6092:7:10", + "typeDescriptions": {} + } + }, + "id": 2405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6092:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6078:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2411, + "nodeType": "IfStatement", + "src": "6074:79:10", + "trueBody": { + "id": 2410, + "nodeType": "Block", + "src": "6107:46:10", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2407, + "name": "AccessDenied", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1601, + "src": "6128:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 2408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6128:14:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 2409, + "nodeType": "RevertStatement", + "src": "6121:21:10" + } + ] + } + } + ] + }, + "documentation": { + "id": 2397, + "nodeType": "StructuredDocumentation", + "src": "5963:63:10", + "text": "@dev Ensures that only the EAS contract can make this call." + }, + "id": 2413, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_onlyEAS", + "nameLocation": "6040:8:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2398, + "nodeType": "ParameterList", + "parameters": [], + "src": "6048:2:10" + }, + "returnParameters": { + "id": 2399, + "nodeType": "ParameterList", + "parameters": [], + "src": "6064:0:10" + }, + "scope": 2414, + "src": "6031:128:10", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + } + ], + "scope": 2415, + "src": "362:5799:10", + "usedErrors": [ + 1601, + 1605, + 1607, + 2108, + 2110 + ], + "usedEvents": [] + } + ], + "src": "33:6128:10" + }, + "id": 10 + }, + "EAS/Semver.sol": { + "ast": { + "absolutePath": "EAS/Semver.sol", + "exportedSymbols": { + "ISemver": [ + 2087 + ], + "Semver": [ + 2481 + ], + "Strings": [ + 432 + ] + }, + "id": 2482, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2416, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "33:23:11" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "file": "@openzeppelin/contracts/utils/Strings.sol", + "id": 2418, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2482, + "sourceUnit": 433, + "src": "58:68:11", + "symbolAliases": [ + { + "foreign": { + "id": 2417, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 432, + "src": "67:7:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/ISemver.sol", + "file": "./ISemver.sol", + "id": 2420, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2482, + "sourceUnit": 2088, + "src": "128:40:11", + "symbolAliases": [ + { + "foreign": { + "id": 2419, + "name": "ISemver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "137:7:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2422, + "name": "ISemver", + "nameLocations": [ + "269:7:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2087, + "src": "269:7:11" + }, + "id": 2423, + "nodeType": "InheritanceSpecifier", + "src": "269:7:11" + } + ], + "canonicalName": "Semver", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2421, + "nodeType": "StructuredDocumentation", + "src": "170:80:11", + "text": "@title Semver\n @notice A simple contract for managing contract versions." + }, + "fullyImplemented": true, + "id": 2481, + "linearizedBaseContracts": [ + 2481, + 2087 + ], + "name": "Semver", + "nameLocation": "259:6:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2425, + "mutability": "immutable", + "name": "_major", + "nameLocation": "349:6:11", + "nodeType": "VariableDeclaration", + "scope": 2481, + "src": "323:32:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "323:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 2427, + "mutability": "immutable", + "name": "_minor", + "nameLocation": "428:6:11", + "nodeType": "VariableDeclaration", + "scope": 2481, + "src": "402:32:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "402:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 2429, + "mutability": "immutable", + "name": "_patch", + "nameLocation": "507:6:11", + "nodeType": "VariableDeclaration", + "scope": 2481, + "src": "481:32:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "481:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 2451, + "nodeType": "Block", + "src": "749:79:11", + "statements": [ + { + "expression": { + "id": 2441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2439, + "name": "_major", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2425, + "src": "759:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2440, + "name": "major", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2432, + "src": "768:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "759:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2442, + "nodeType": "ExpressionStatement", + "src": "759:14:11" + }, + { + "expression": { + "id": 2445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2443, + "name": "_minor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2427, + "src": "783:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2444, + "name": "minor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2434, + "src": "792:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "783:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2446, + "nodeType": "ExpressionStatement", + "src": "783:14:11" + }, + { + "expression": { + "id": 2449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2447, + "name": "_patch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2429, + "src": "807:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2448, + "name": "patch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "816:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "807:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2450, + "nodeType": "ExpressionStatement", + "src": "807:14:11" + } + ] + }, + "documentation": { + "id": 2430, + "nodeType": "StructuredDocumentation", + "src": "520:167:11", + "text": "@dev Create a new Semver instance.\n @param major Major version number.\n @param minor Minor version number.\n @param patch Patch version number." + }, + "id": 2452, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2432, + "mutability": "mutable", + "name": "major", + "nameLocation": "712:5:11", + "nodeType": "VariableDeclaration", + "scope": 2452, + "src": "704:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2431, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "704:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2434, + "mutability": "mutable", + "name": "minor", + "nameLocation": "727:5:11", + "nodeType": "VariableDeclaration", + "scope": 2452, + "src": "719:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2433, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "719:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2436, + "mutability": "mutable", + "name": "patch", + "nameLocation": "742:5:11", + "nodeType": "VariableDeclaration", + "scope": 2452, + "src": "734:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "734:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "703:45:11" + }, + "returnParameters": { + "id": 2438, + "nodeType": "ParameterList", + "parameters": [], + "src": "749:0:11" + }, + "scope": 2481, + "src": "692:136:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 2086 + ], + "body": { + "id": 2479, + "nodeType": "Block", + "src": "1002:178:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2464, + "name": "_major", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2425, + "src": "1089:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2462, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 432, + "src": "1072:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$432_$", + "typeString": "type(library Strings)" + } + }, + "id": 2463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1080:8:11", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 245, + "src": "1072:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1072:24:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2e", + "id": 2466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1098:3:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "typeString": "literal_string \".\"" + }, + "value": "." + }, + { + "arguments": [ + { + "id": 2469, + "name": "_minor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2427, + "src": "1120:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2467, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 432, + "src": "1103:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$432_$", + "typeString": "type(library Strings)" + } + }, + "id": 2468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1111:8:11", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 245, + "src": "1103:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1103:24:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2e", + "id": 2471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1129:3:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "typeString": "literal_string \".\"" + }, + "value": "." + }, + { + "arguments": [ + { + "id": 2474, + "name": "_patch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2429, + "src": "1151:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2472, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 432, + "src": "1134:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$432_$", + "typeString": "type(library Strings)" + } + }, + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1142:8:11", + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 245, + "src": "1134:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 2475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1134:24:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "typeString": "literal_string \".\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", + "typeString": "literal_string \".\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 2460, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1055:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1059:12:11", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1055:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1055:104:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1031:6:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 2458, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1031:6:11", + "typeDescriptions": {} + } + }, + "id": 2477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1031:142:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 2457, + "id": 2478, + "nodeType": "Return", + "src": "1012:161:11" + } + ] + }, + "documentation": { + "id": 2453, + "nodeType": "StructuredDocumentation", + "src": "834:106:11", + "text": "@notice Returns the full semver contract version.\n @return Semver contract version as a string." + }, + "functionSelector": "54fd4d50", + "id": 2480, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "version", + "nameLocation": "954:7:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2454, + "nodeType": "ParameterList", + "parameters": [], + "src": "961:2:11" + }, + "returnParameters": { + "id": 2457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2456, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2480, + "src": "987:13:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2455, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "987:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "986:15:11" + }, + "scope": 2481, + "src": "945:235:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2482, + "src": "250:932:11", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "33:1149:11" + }, + "id": 11 + }, + "ownable-resolver.sol": { + "ast": { + "absolutePath": "ownable-resolver.sol", + "exportedSymbols": { + "Attestation": [ + 1641 + ], + "Context": [ + 177 + ], + "IEAS": [ + 1964 + ], + "Ownable": [ + 147 + ], + "OwnerRecipientResolver": [ + 2613 + ], + "SchemaResolver": [ + 2414 + ] + }, + "id": 2614, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2483, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:23:12" + }, + { + "absolutePath": "EAS/SchemaResolver.sol", + "file": "EAS/SchemaResolver.sol", + "id": 2485, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2614, + "sourceUnit": 2415, + "src": "57:56:12", + "symbolAliases": [ + { + "foreign": { + "id": 2484, + "name": "SchemaResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2414, + "src": "66:14:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "EAS/IEAS.sol", + "file": "EAS/IEAS.sol", + "id": 2488, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2614, + "sourceUnit": 1965, + "src": "114:49:12", + "symbolAliases": [ + { + "foreign": { + "id": 2486, + "name": "IEAS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1964, + "src": "123:4:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 2487, + "name": "Attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "129:11:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2489, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2614, + "sourceUnit": 148, + "src": "164:52:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2491, + "name": "SchemaResolver", + "nameLocations": [ + "379:14:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2414, + "src": "379:14:12" + }, + "id": 2492, + "nodeType": "InheritanceSpecifier", + "src": "379:14:12" + } + ], + "canonicalName": "OwnerRecipientResolver", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2490, + "nodeType": "StructuredDocumentation", + "src": "218:125:12", + "text": " @title A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient." + }, + "fullyImplemented": true, + "id": 2613, + "linearizedBaseContracts": [ + 2613, + 2414, + 2481, + 2077, + 2087 + ], + "name": "OwnerRecipientResolver", + "nameLocation": "353:22:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 2501, + "nodeType": "Block", + "src": "442:2:12", + "statements": [] + }, + "id": 2502, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 2498, + "name": "eas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2495, + "src": "437:3:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + } + ], + "id": 2499, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2497, + "name": "SchemaResolver", + "nameLocations": [ + "422:14:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2414, + "src": "422:14:12" + }, + "nodeType": "ModifierInvocation", + "src": "422:19:12" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2495, + "mutability": "mutable", + "name": "eas", + "nameLocation": "417:3:12", + "nodeType": "VariableDeclaration", + "scope": 2502, + "src": "412:8:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + }, + "typeName": { + "id": 2494, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2493, + "name": "IEAS", + "nameLocations": [ + "412:4:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1964, + "src": "412:4:12" + }, + "referencedDeclaration": 1964, + "src": "412:4:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEAS_$1964", + "typeString": "contract IEAS" + } + }, + "visibility": "internal" + } + ], + "src": "411:10:12" + }, + "returnParameters": { + "id": 2500, + "nodeType": "ParameterList", + "parameters": [], + "src": "442:0:12" + }, + "scope": 2613, + "src": "400:44:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 2385 + ], + "body": { + "id": 2575, + "nodeType": "Block", + "src": "559:1083:12", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2513, + "name": "attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2505, + "src": "664:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + "id": 2514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "676:9:12", + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 1634, + "src": "664:21:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "697:1:12", + "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": 2516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "689:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "689:7:12", + "typeDescriptions": {} + } + }, + "id": 2518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "689:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "664:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2523, + "nodeType": "IfStatement", + "src": "660:77:12", + "trueBody": { + "id": 2522, + "nodeType": "Block", + "src": "701:36:12", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 2520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "722:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2512, + "id": 2521, + "nodeType": "Return", + "src": "715:11:12" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "expression": { + "id": 2524, + "name": "attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2505, + "src": "811:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + "id": 2525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "823:9:12", + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 1634, + "src": "811:21:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "833:4:12", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "811:26:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "838:6:12", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "811:33:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "848:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "811:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2533, + "nodeType": "IfStatement", + "src": "807:81:12", + "trueBody": { + "id": 2532, + "nodeType": "Block", + "src": "851:37:12", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "872:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2512, + "id": 2531, + "nodeType": "Return", + "src": "865:12:12" + } + ] + } + }, + { + "assignments": [ + 2535 + ], + "declarations": [ + { + "constant": false, + "id": 2535, + "mutability": "mutable", + "name": "_address", + "nameLocation": "962:8:12", + "nodeType": "VariableDeclaration", + "scope": 2575, + "src": "954:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2534, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "954:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2540, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 2537, + "name": "attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2505, + "src": "996:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + "id": 2538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1008:4:12", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 1640, + "src": "996:16:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2536, + "name": "extractAddressFromData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2598, + "src": "973:22:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes memory) pure returns (address)" + } + }, + "id": 2539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "973:40:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "954:59:12" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2541, + "name": "attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2505, + "src": "1128:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + "id": 2542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1140:9:12", + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 1634, + "src": "1128:21:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2543, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2535, + "src": "1153:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1128:33:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2548, + "nodeType": "IfStatement", + "src": "1124:76:12", + "trueBody": { + "id": 2547, + "nodeType": "Block", + "src": "1163:37:12", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1184:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2512, + "id": 2546, + "nodeType": "Return", + "src": "1177:12:12" + } + ] + } + }, + { + "assignments": [ + 2551 + ], + "declarations": [ + { + "constant": false, + "id": 2551, + "mutability": "mutable", + "name": "ownableContract", + "nameLocation": "1274:15:12", + "nodeType": "VariableDeclaration", + "scope": 2575, + "src": "1266:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$147", + "typeString": "contract Ownable" + }, + "typeName": { + "id": 2550, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2549, + "name": "Ownable", + "nameLocations": [ + "1266:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 147, + "src": "1266:7:12" + }, + "referencedDeclaration": 147, + "src": "1266:7:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$147", + "typeString": "contract Ownable" + } + }, + "visibility": "internal" + } + ], + "id": 2556, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 2553, + "name": "attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2505, + "src": "1300:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + "id": 2554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1312:9:12", + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 1634, + "src": "1300:21:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2552, + "name": "Ownable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "1292:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Ownable_$147_$", + "typeString": "type(contract Ownable)" + } + }, + "id": 2555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1292:30:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$147", + "typeString": "contract Ownable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1266:56:12" + }, + { + "clauses": [ + { + "block": { + "id": 2568, + "nodeType": "Block", + "src": "1385:125:12", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2563, + "name": "attestation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2505, + "src": "1470:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation calldata" + } + }, + "id": 2564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1482:8:12", + "memberName": "attester", + "nodeType": "MemberAccess", + "referencedDeclaration": 1636, + "src": "1470:20:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2565, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2561, + "src": "1494:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1470:29:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2512, + "id": 2567, + "nodeType": "Return", + "src": "1463:36:12" + } + ] + }, + "errorName": "", + "id": 2569, + "nodeType": "TryCatchClause", + "parameters": { + "id": 2562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2561, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1378:5:12", + "nodeType": "VariableDeclaration", + "scope": 2569, + "src": "1370:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1370:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1369:15:12" + }, + "src": "1361:149:12" + }, + { + "block": { + "id": 2572, + "nodeType": "Block", + "src": "1517:119:12", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1620:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2512, + "id": 2571, + "nodeType": "Return", + "src": "1613:12:12" + } + ] + }, + "errorName": "", + "id": 2573, + "nodeType": "TryCatchClause", + "src": "1511:125:12" + } + ], + "externalCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 2557, + "name": "ownableContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2551, + "src": "1337:15:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$147", + "typeString": "contract Ownable" + } + }, + "id": 2558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1353:5:12", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 67, + "src": "1337:21:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1337:23:12", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2574, + "nodeType": "TryStatement", + "src": "1333:303:12" + } + ] + }, + "id": 2576, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "onAttest", + "nameLocation": "459:8:12", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2509, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "535:8:12" + }, + "parameters": { + "id": 2508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2505, + "mutability": "mutable", + "name": "attestation", + "nameLocation": "489:11:12", + "nodeType": "VariableDeclaration", + "scope": 2576, + "src": "468:32:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 2504, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2503, + "name": "Attestation", + "nameLocations": [ + "468:11:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "468:11:12" + }, + "referencedDeclaration": 1641, + "src": "468:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2507, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2576, + "src": "502:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "502:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "467:53:12" + }, + "returnParameters": { + "id": 2512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2511, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2576, + "src": "553:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2510, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "553:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "552:6:12" + }, + "scope": 2613, + "src": "450:1192:12", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2597, + "nodeType": "Block", + "src": "1731:530:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2584, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2578, + "src": "1749:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1754:6:12", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1749:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 2586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1764:2:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "1749:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4461746120746f6f2073686f7274", + "id": 2588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1768:16:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", + "typeString": "literal_string \"Data too short\"" + }, + "value": "Data too short" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", + "typeString": "literal_string \"Data too short\"" + } + ], + "id": 2583, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1741:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1741:44:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2590, + "nodeType": "ExpressionStatement", + "src": "1741:44:12" + }, + { + "assignments": [ + 2592 + ], + "declarations": [ + { + "constant": false, + "id": 2592, + "mutability": "mutable", + "name": "extractedAddress", + "nameLocation": "1905:16:12", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "1897:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1897:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2593, + "nodeType": "VariableDeclarationStatement", + "src": "1897:24:12" + }, + { + "AST": { + "nativeSrc": "1940:273:12", + "nodeType": "YulBlock", + "src": "1940:273:12", + "statements": [ + { + "nativeSrc": "1954:40:12", + "nodeType": "YulAssignment", + "src": "1954:40:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "data", + "nativeSrc": "1984:4:12", + "nodeType": "YulIdentifier", + "src": "1984:4:12" + }, + { + "kind": "number", + "nativeSrc": "1990:2:12", + "nodeType": "YulLiteral", + "src": "1990:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1980:3:12", + "nodeType": "YulIdentifier", + "src": "1980:3:12" + }, + "nativeSrc": "1980:13:12", + "nodeType": "YulFunctionCall", + "src": "1980:13:12" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1974:5:12", + "nodeType": "YulIdentifier", + "src": "1974:5:12" + }, + "nativeSrc": "1974:20:12", + "nodeType": "YulFunctionCall", + "src": "1974:20:12" + }, + "variableNames": [ + { + "name": "extractedAddress", + "nativeSrc": "1954:16:12", + "nodeType": "YulIdentifier", + "src": "1954:16:12" + } + ] + }, + { + "nativeSrc": "2076:85:12", + "nodeType": "YulAssignment", + "src": "2076:85:12", + "value": { + "arguments": [ + { + "name": "extractedAddress", + "nativeSrc": "2100:16:12", + "nodeType": "YulIdentifier", + "src": "2100:16:12" + }, + { + "kind": "number", + "nativeSrc": "2118:42:12", + "nodeType": "YulLiteral", + "src": "2118:42:12", + "type": "", + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2096:3:12", + "nodeType": "YulIdentifier", + "src": "2096:3:12" + }, + "nativeSrc": "2096:65:12", + "nodeType": "YulFunctionCall", + "src": "2096:65:12" + }, + "variableNames": [ + { + "name": "extractedAddress", + "nativeSrc": "2076:16:12", + "nodeType": "YulIdentifier", + "src": "2076:16:12" + } + ] + } + ] + }, + "evmVersion": "cancun", + "externalReferences": [ + { + "declaration": 2578, + "isOffset": false, + "isSlot": false, + "src": "1984:4:12", + "valueSize": 1 + }, + { + "declaration": 2592, + "isOffset": false, + "isSlot": false, + "src": "1954:16:12", + "valueSize": 1 + }, + { + "declaration": 2592, + "isOffset": false, + "isSlot": false, + "src": "2076:16:12", + "valueSize": 1 + }, + { + "declaration": 2592, + "isOffset": false, + "isSlot": false, + "src": "2100:16:12", + "valueSize": 1 + } + ], + "id": 2594, + "nodeType": "InlineAssembly", + "src": "1931:282:12" + }, + { + "expression": { + "id": 2595, + "name": "extractedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2592, + "src": "2238:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2582, + "id": 2596, + "nodeType": "Return", + "src": "2231:23:12" + } + ] + }, + "id": 2598, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extractAddressFromData", + "nameLocation": "1657:22:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2578, + "mutability": "mutable", + "name": "data", + "nameLocation": "1693:4:12", + "nodeType": "VariableDeclaration", + "scope": 2598, + "src": "1680:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2577, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1680:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1679:19:12" + }, + "returnParameters": { + "id": 2582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2581, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2598, + "src": "1722:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1722:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1721:9:12" + }, + "scope": 2613, + "src": "1648:613:12", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 2396 + ], + "body": { + "id": 2611, + "nodeType": "Block", + "src": "2381:28:12", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 2609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2398:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2608, + "id": 2610, + "nodeType": "Return", + "src": "2391:11:12" + } + ] + }, + "id": 2612, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "onRevoke", + "nameLocation": "2277:8:12", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2605, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2357:8:12" + }, + "parameters": { + "id": 2604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2601, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2286:20:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", + "typeString": "struct Attestation" + }, + "typeName": { + "id": 2600, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2599, + "name": "Attestation", + "nameLocations": [ + "2286:11:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1641, + "src": "2286:11:12" + }, + "referencedDeclaration": 1641, + "src": "2286:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", + "typeString": "struct Attestation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2603, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2324:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2602, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2324:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2285:57:12" + }, + "returnParameters": { + "id": 2608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2607, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2375:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2606, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2375:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2374:6:12" + }, + "scope": 2613, + "src": "2268:141:12", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 2614, + "src": "344:2067:12", + "usedErrors": [ + 1601, + 1605, + 1607, + 2108, + 2110 + ], + "usedEvents": [] + } + ], + "src": "32:2379:12" + }, + "id": 12 + } + } + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/ownable-resolver.sol b/data_entry/ownable-resolver/ownable-resolver.sol new file mode 100644 index 0000000..53deb55 --- /dev/null +++ b/data_entry/ownable-resolver/ownable-resolver.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import { SchemaResolver } from "EAS/SchemaResolver.sol"; +import { IEAS, Attestation } from "EAS/IEAS.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; + +/** + * @title A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient. + */ +contract OwnerRecipientResolver is SchemaResolver { + constructor(IEAS eas) SchemaResolver(eas) {} + + function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) { + + // Return true if the attestation.recipient field is empty (zero address) + if (attestation.recipient == address(0)) { + return true; + } + + // Check if the attestation.recipient is a contract + if (attestation.recipient.code.length == 0) { + return false; + } + + // Extract _address field from attestation.data + address _address = extractAddressFromData(attestation.data); + + // Only allow the attestation if the to be attested contract _address is also the recipient + if (attestation.recipient != _address) { + return false; + } + + // Try to cast the recipient address to Ownable + Ownable ownableContract = Ownable(attestation.recipient); + + try ownableContract.owner() returns (address owner) { + // Check if the sender is the owner of the contract + return attestation.attester == owner; + } catch { + // If the call to owner() fails, it means the contract is not Ownable + return false; + } + } + + function extractAddressFromData(bytes memory data) internal pure returns (address) { + require(data.length >= 32, "Data too short"); + + // The address is at index 12 of the first 32 bytes (right-aligned in ABI encoding). + address extractedAddress; + assembly { + extractedAddress := mload(add(data, 32)) // Load the first 32 bytes, which includes the address at offset 12. + extractedAddress := and(extractedAddress, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) // Mask the last 20 bytes (address size). + } + + return extractedAddress; + } + + + function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) { + return true; + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/scripts/etherscan/receiptGuidScript.ts b/data_entry/ownable-resolver/scripts/etherscan/receiptGuidScript.ts new file mode 100644 index 0000000..b5bdeb3 --- /dev/null +++ b/data_entry/ownable-resolver/scripts/etherscan/receiptGuidScript.ts @@ -0,0 +1,9 @@ +/** + * @param {string} apikey - etherscan api key + * @param {string} guid - receipt id + * @param {boolean} isProxyContract - true, if contract is a proxy contract (optional) + * @returns {{ status, message, succeed }} receiptStatus + */ +export const receiptStatus = async (apikey: string, guid: string, isProxyContract?: boolean) => { + return await remix.call('etherscan' as any, 'receiptStatus', guid, apikey, isProxyContract) +} \ No newline at end of file From 408cdb578e0253645f5411bd7ab2aa963a7a7e07 Mon Sep 17 00:00:00 2001 From: lorenz234 Date: Fri, 1 Nov 2024 14:28:23 +0100 Subject: [PATCH 3/3] update EAS schema --- .../{ownable-resolver => }/EAS/Common.sol | 0 data_entry/EAS/EAS.sol | 777 + .../{ownable-resolver => }/EAS/IEAS.sol | 0 .../EAS/ISchemaRegistry.sol | 0 .../EAS/ISchemaResolver.sol | 0 .../{ownable-resolver => }/EAS/ISemver.sol | 0 .../EAS/SchemaResolver.sol | 0 .../{ownable-resolver => }/EAS/Semver.sol | 0 data_entry/EAS/artifacts/ISchemaResolver.json | 382 + .../artifacts/ISchemaResolver_metadata.json} | 127 +- .../b3243e0e0ce278cb57851439b44f680d.json} | 6 +- data_entry/EAS/eip1271/EIP1271Verifier.sol | 171 + .../contracts/access/Ownable.sol | 100 - .../@openzeppelin/contracts/utils/Context.sol | 28 - .../@openzeppelin/contracts/utils/Strings.sol | 94 - .../contracts/utils/math/Math.sol | 415 - .../contracts/utils/math/SignedMath.sol | 43 - data_entry/ownable-resolver/.prettierrc.json | 38 + .../EAS/artifacts/ISemver.json | 70 - .../EAS/artifacts/ISemver_metadata.json | 71 - .../91f5e85fa8c0309bb08e7e85a31b1ed6.json | 234 - .../artifacts/OwnerRecipientResolver.json | 7866 -- .../be62ebfe77aadf5d6d5daf6ae4eb3f76.json | 71430 ---------------- .../ownable-resolver/ownable-resolver.sol | 63 - data_entry/ownable-resolver/resolver.sol | 84 + .../scripts/etherscan/receiptGuidScript.ts | 9 - 26 files changed, 1459 insertions(+), 80549 deletions(-) rename data_entry/{ownable-resolver => }/EAS/Common.sol (100%) create mode 100644 data_entry/EAS/EAS.sol rename data_entry/{ownable-resolver => }/EAS/IEAS.sol (100%) rename data_entry/{ownable-resolver => }/EAS/ISchemaRegistry.sol (100%) rename data_entry/{ownable-resolver => }/EAS/ISchemaResolver.sol (100%) rename data_entry/{ownable-resolver => }/EAS/ISemver.sol (100%) rename data_entry/{ownable-resolver => }/EAS/SchemaResolver.sol (100%) rename data_entry/{ownable-resolver => }/EAS/Semver.sol (100%) create mode 100644 data_entry/EAS/artifacts/ISchemaResolver.json rename data_entry/{ownable-resolver/artifacts/OwnerRecipientResolver_metadata.json => EAS/artifacts/ISchemaResolver_metadata.json} (71%) rename data_entry/{ownable-resolver/EAS/artifacts/build-info/3b0c51886aacd0891064034e15191e8e.json => EAS/artifacts/build-info/b3243e0e0ce278cb57851439b44f680d.json} (99%) create mode 100644 data_entry/EAS/eip1271/EIP1271Verifier.sol delete mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/access/Ownable.sol delete mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Context.sol delete mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Strings.sol delete mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/Math.sol delete mode 100644 data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/SignedMath.sol create mode 100644 data_entry/ownable-resolver/.prettierrc.json delete mode 100644 data_entry/ownable-resolver/EAS/artifacts/ISemver.json delete mode 100644 data_entry/ownable-resolver/EAS/artifacts/ISemver_metadata.json delete mode 100644 data_entry/ownable-resolver/EAS/artifacts/build-info/91f5e85fa8c0309bb08e7e85a31b1ed6.json delete mode 100644 data_entry/ownable-resolver/artifacts/OwnerRecipientResolver.json delete mode 100644 data_entry/ownable-resolver/artifacts/build-info/be62ebfe77aadf5d6d5daf6ae4eb3f76.json delete mode 100644 data_entry/ownable-resolver/ownable-resolver.sol create mode 100644 data_entry/ownable-resolver/resolver.sol delete mode 100644 data_entry/ownable-resolver/scripts/etherscan/receiptGuidScript.ts diff --git a/data_entry/ownable-resolver/EAS/Common.sol b/data_entry/EAS/Common.sol similarity index 100% rename from data_entry/ownable-resolver/EAS/Common.sol rename to data_entry/EAS/Common.sol diff --git a/data_entry/EAS/EAS.sol b/data_entry/EAS/EAS.sol new file mode 100644 index 0000000..c37b993 --- /dev/null +++ b/data_entry/EAS/EAS.sol @@ -0,0 +1,777 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.27; + +import { Address } from "@openzeppelin/contracts/utils/Address.sol"; + +import { EIP1271Verifier } from "./eip1271/EIP1271Verifier.sol"; + +import { ISchemaResolver } from "./ISchemaResolver.sol"; + +// prettier-ignore +import { + AccessDenied, + EMPTY_UID, + InvalidLength, + NotFound, + NO_EXPIRATION_TIME, + uncheckedInc +} from "./Common.sol"; + +// prettier-ignore +import { + Attestation, + AttestationRequest, + AttestationRequestData, + DelegatedAttestationRequest, + DelegatedRevocationRequest, + IEAS, + MultiAttestationRequest, + MultiDelegatedAttestationRequest, + MultiDelegatedRevocationRequest, + MultiRevocationRequest, + RevocationRequest, + RevocationRequestData +} from "./IEAS.sol"; + +import { Semver } from "./Semver.sol"; +import { ISchemaRegistry, SchemaRecord } from "./ISchemaRegistry.sol"; + +/// @title EAS +/// @notice The Ethereum Attestation Service protocol. +contract EAS is IEAS, Semver, EIP1271Verifier { + using Address for address payable; + + error AlreadyRevoked(); + error AlreadyRevokedOffchain(); + error AlreadyTimestamped(); + error InsufficientValue(); + error InvalidAttestation(); + error InvalidAttestations(); + error InvalidExpirationTime(); + error InvalidOffset(); + error InvalidRegistry(); + error InvalidRevocation(); + error InvalidRevocations(); + error InvalidSchema(); + error InvalidVerifier(); + error Irrevocable(); + error NotPayable(); + error WrongSchema(); + + /// @notice A struct representing an internal attestation result. + struct AttestationsResult { + uint256 usedValue; // Total ETH amount that was sent to resolvers. + bytes32[] uids; // UIDs of the new attestations. + } + + // The global schema registry. + ISchemaRegistry private immutable _schemaRegistry; + + // The global mapping between attestations and their UIDs. + mapping(bytes32 uid => Attestation attestation) private _db; + + // The global mapping between data and their timestamps. + mapping(bytes32 data => uint64 timestamp) private _timestamps; + + // The global mapping between data and their revocation timestamps. + mapping(address revoker => mapping(bytes32 data => uint64 timestamp) timestamps) private _revocationsOffchain; + + /// @dev Creates a new EAS instance. + /// @param registry The address of the global schema registry. + constructor(ISchemaRegistry registry) Semver(1, 3, 0) EIP1271Verifier("EAS", "1.3.0") { + if (address(registry) == address(0)) { + revert InvalidRegistry(); + } + + _schemaRegistry = registry; + } + + /// @inheritdoc IEAS + function getSchemaRegistry() external view returns (ISchemaRegistry) { + return _schemaRegistry; + } + + /// @inheritdoc IEAS + function attest(AttestationRequest calldata request) external payable returns (bytes32) { + AttestationRequestData[] memory data = new AttestationRequestData[](1); + data[0] = request.data; + + return _attest(request.schema, data, msg.sender, msg.value, true).uids[0]; + } + + /// @inheritdoc IEAS + function attestByDelegation( + DelegatedAttestationRequest calldata delegatedRequest + ) external payable returns (bytes32) { + _verifyAttest(delegatedRequest); + + AttestationRequestData[] memory data = new AttestationRequestData[](1); + data[0] = delegatedRequest.data; + + return _attest(delegatedRequest.schema, data, delegatedRequest.attester, msg.value, true).uids[0]; + } + + /// @inheritdoc IEAS + function multiAttest(MultiAttestationRequest[] calldata multiRequests) external payable returns (bytes32[] memory) { + // Since a multi-attest call is going to make multiple attestations for multiple schemas, we'd need to collect + // all the returned UIDs into a single list. + uint256 length = multiRequests.length; + bytes32[][] memory totalUIDs = new bytes32[][](length); + uint256 totalUIDCount = 0; + + // We are keeping track of the total available ETH amount that can be sent to resolvers and will keep deducting + // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless + // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be + // possible to send too much ETH anyway. + uint256 availableValue = msg.value; + + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + // The last batch is handled slightly differently: if the total available ETH wasn't spent in full and there + // is a remainder - it will be refunded back to the attester (something that we can only verify during the + // last and final batch). + bool last; + unchecked { + last = i == length - 1; + } + + // Process the current batch of attestations. + MultiAttestationRequest calldata multiRequest = multiRequests[i]; + + // Ensure that data isn't empty. + if (multiRequest.data.length == 0) { + revert InvalidLength(); + } + + AttestationsResult memory res = _attest( + multiRequest.schema, + multiRequest.data, + msg.sender, + availableValue, + last + ); + + // Ensure to deduct the ETH that was forwarded to the resolver during the processing of this batch. + availableValue -= res.usedValue; + + // Collect UIDs (and merge them later). + totalUIDs[i] = res.uids; + unchecked { + totalUIDCount += res.uids.length; + } + } + + // Merge all the collected UIDs and return them as a flatten array. + return _mergeUIDs(totalUIDs, totalUIDCount); + } + + /// @inheritdoc IEAS + function multiAttestByDelegation( + MultiDelegatedAttestationRequest[] calldata multiDelegatedRequests + ) external payable returns (bytes32[] memory) { + // Since a multi-attest call is going to make multiple attestations for multiple schemas, we'd need to collect + // all the returned UIDs into a single list. + uint256 length = multiDelegatedRequests.length; + bytes32[][] memory totalUIDs = new bytes32[][](length); + uint256 totalUIDCount = 0; + + // We are keeping track of the total available ETH amount that can be sent to resolvers and will keep deducting + // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless + // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be + // possible to send too much ETH anyway. + uint256 availableValue = msg.value; + + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + // The last batch is handled slightly differently: if the total available ETH wasn't spent in full and there + // is a remainder - it will be refunded back to the attester (something that we can only verify during the + // last and final batch). + bool last; + unchecked { + last = i == length - 1; + } + + MultiDelegatedAttestationRequest calldata multiDelegatedRequest = multiDelegatedRequests[i]; + AttestationRequestData[] calldata data = multiDelegatedRequest.data; + + // Ensure that no inputs are missing. + uint256 dataLength = data.length; + if (dataLength == 0 || dataLength != multiDelegatedRequest.signatures.length) { + revert InvalidLength(); + } + + // Verify signatures. Please note that the signatures are assumed to be signed with increasing nonces. + for (uint256 j = 0; j < dataLength; j = uncheckedInc(j)) { + _verifyAttest( + DelegatedAttestationRequest({ + schema: multiDelegatedRequest.schema, + data: data[j], + signature: multiDelegatedRequest.signatures[j], + attester: multiDelegatedRequest.attester, + deadline: multiDelegatedRequest.deadline + }) + ); + } + + // Process the current batch of attestations. + AttestationsResult memory res = _attest( + multiDelegatedRequest.schema, + data, + multiDelegatedRequest.attester, + availableValue, + last + ); + + // Ensure to deduct the ETH that was forwarded to the resolver during the processing of this batch. + availableValue -= res.usedValue; + + // Collect UIDs (and merge them later). + totalUIDs[i] = res.uids; + unchecked { + totalUIDCount += res.uids.length; + } + } + + // Merge all the collected UIDs and return them as a flatten array. + return _mergeUIDs(totalUIDs, totalUIDCount); + } + + /// @inheritdoc IEAS + function revoke(RevocationRequest calldata request) external payable { + RevocationRequestData[] memory data = new RevocationRequestData[](1); + data[0] = request.data; + + _revoke(request.schema, data, msg.sender, msg.value, true); + } + + /// @inheritdoc IEAS + function revokeByDelegation(DelegatedRevocationRequest calldata delegatedRequest) external payable { + _verifyRevoke(delegatedRequest); + + RevocationRequestData[] memory data = new RevocationRequestData[](1); + data[0] = delegatedRequest.data; + + _revoke(delegatedRequest.schema, data, delegatedRequest.revoker, msg.value, true); + } + + /// @inheritdoc IEAS + function multiRevoke(MultiRevocationRequest[] calldata multiRequests) external payable { + // We are keeping track of the total available ETH amount that can be sent to resolvers and will keep deducting + // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless + // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be + // possible to send too much ETH anyway. + uint256 availableValue = msg.value; + + uint256 length = multiRequests.length; + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + // The last batch is handled slightly differently: if the total available ETH wasn't spent in full and there + // is a remainder - it will be refunded back to the attester (something that we can only verify during the + // last and final batch). + bool last; + unchecked { + last = i == length - 1; + } + + MultiRevocationRequest calldata multiRequest = multiRequests[i]; + + // Ensure to deduct the ETH that was forwarded to the resolver during the processing of this batch. + availableValue -= _revoke(multiRequest.schema, multiRequest.data, msg.sender, availableValue, last); + } + } + + /// @inheritdoc IEAS + function multiRevokeByDelegation( + MultiDelegatedRevocationRequest[] calldata multiDelegatedRequests + ) external payable { + // We are keeping track of the total available ETH amount that can be sent to resolvers and will keep deducting + // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless + // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be + // possible to send too much ETH anyway. + uint256 availableValue = msg.value; + + uint256 length = multiDelegatedRequests.length; + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + // The last batch is handled slightly differently: if the total available ETH wasn't spent in full and there + // is a remainder - it will be refunded back to the attester (something that we can only verify during the + // last and final batch). + bool last; + unchecked { + last = i == length - 1; + } + + MultiDelegatedRevocationRequest memory multiDelegatedRequest = multiDelegatedRequests[i]; + RevocationRequestData[] memory data = multiDelegatedRequest.data; + + // Ensure that no inputs are missing. + uint256 dataLength = data.length; + if (dataLength == 0 || dataLength != multiDelegatedRequest.signatures.length) { + revert InvalidLength(); + } + + // Verify signatures. Please note that the signatures are assumed to be signed with increasing nonces. + for (uint256 j = 0; j < dataLength; j = uncheckedInc(j)) { + _verifyRevoke( + DelegatedRevocationRequest({ + schema: multiDelegatedRequest.schema, + data: data[j], + signature: multiDelegatedRequest.signatures[j], + revoker: multiDelegatedRequest.revoker, + deadline: multiDelegatedRequest.deadline + }) + ); + } + + // Ensure to deduct the ETH that was forwarded to the resolver during the processing of this batch. + availableValue -= _revoke( + multiDelegatedRequest.schema, + data, + multiDelegatedRequest.revoker, + availableValue, + last + ); + } + } + + /// @inheritdoc IEAS + function timestamp(bytes32 data) external returns (uint64) { + uint64 time = _time(); + + _timestamp(data, time); + + return time; + } + + /// @inheritdoc IEAS + function revokeOffchain(bytes32 data) external returns (uint64) { + uint64 time = _time(); + + _revokeOffchain(msg.sender, data, time); + + return time; + } + + /// @inheritdoc IEAS + function multiRevokeOffchain(bytes32[] calldata data) external returns (uint64) { + uint64 time = _time(); + + uint256 length = data.length; + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + _revokeOffchain(msg.sender, data[i], time); + } + + return time; + } + + /// @inheritdoc IEAS + function multiTimestamp(bytes32[] calldata data) external returns (uint64) { + uint64 time = _time(); + + uint256 length = data.length; + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + _timestamp(data[i], time); + } + + return time; + } + + /// @inheritdoc IEAS + function getAttestation(bytes32 uid) external view returns (Attestation memory) { + return _db[uid]; + } + + /// @inheritdoc IEAS + function isAttestationValid(bytes32 uid) public view returns (bool) { + return _db[uid].uid != EMPTY_UID; + } + + /// @inheritdoc IEAS + function getTimestamp(bytes32 data) external view returns (uint64) { + return _timestamps[data]; + } + + /// @inheritdoc IEAS + function getRevokeOffchain(address revoker, bytes32 data) external view returns (uint64) { + return _revocationsOffchain[revoker][data]; + } + + /// @dev Attests to a specific schema. + /// @param schemaUID The unique identifier of the schema to attest to. + /// @param data The arguments of the attestation requests. + /// @param attester The attesting account. + /// @param availableValue The total available ETH amount that can be sent to the resolver. + /// @param last Whether this is the last attestations/revocations set. + /// @return The UID of the new attestations and the total sent ETH amount. + function _attest( + bytes32 schemaUID, + AttestationRequestData[] memory data, + address attester, + uint256 availableValue, + bool last + ) private returns (AttestationsResult memory) { + uint256 length = data.length; + + AttestationsResult memory res; + res.uids = new bytes32[](length); + + // Ensure that we aren't attempting to attest to a non-existing schema. + SchemaRecord memory schemaRecord = _schemaRegistry.getSchema(schemaUID); + if (schemaRecord.uid == EMPTY_UID) { + revert InvalidSchema(); + } + + Attestation[] memory attestations = new Attestation[](length); + uint256[] memory values = new uint256[](length); + + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + AttestationRequestData memory request = data[i]; + + // Ensure that either no expiration time was set or that it was set in the future. + if (request.expirationTime != NO_EXPIRATION_TIME && request.expirationTime <= _time()) { + revert InvalidExpirationTime(); + } + + // Ensure that we aren't trying to make a revocable attestation for a non-revocable schema. + if (!schemaRecord.revocable && request.revocable) { + revert Irrevocable(); + } + + Attestation memory attestation = Attestation({ + uid: EMPTY_UID, + schema: schemaUID, + refUID: request.refUID, + time: _time(), + expirationTime: request.expirationTime, + revocationTime: 0, + recipient: request.recipient, + attester: attester, + revocable: request.revocable, + data: request.data + }); + + // Look for the first non-existing UID (and use a bump seed/nonce in the rare case of a conflict). + bytes32 uid; + uint32 bump = 0; + while (true) { + uid = _getUID(attestation, bump); + if (_db[uid].uid == EMPTY_UID) { + break; + } + + unchecked { + ++bump; + } + } + attestation.uid = uid; + + _db[uid] = attestation; + + if (request.refUID != EMPTY_UID) { + // Ensure that we aren't trying to attest to a non-existing referenced UID. + if (!isAttestationValid(request.refUID)) { + revert NotFound(); + } + } + + attestations[i] = attestation; + values[i] = request.value; + + res.uids[i] = uid; + + emit Attested(request.recipient, attester, uid, schemaUID); + } + + res.usedValue = _resolveAttestations(schemaRecord, attestations, values, false, availableValue, last); + + return res; + } + + /// @dev Revokes an existing attestation to a specific schema. + /// @param schemaUID The unique identifier of the schema to attest to. + /// @param data The arguments of the revocation requests. + /// @param revoker The revoking account. + /// @param availableValue The total available ETH amount that can be sent to the resolver. + /// @param last Whether this is the last attestations/revocations set. + /// @return Returns the total sent ETH amount. + function _revoke( + bytes32 schemaUID, + RevocationRequestData[] memory data, + address revoker, + uint256 availableValue, + bool last + ) private returns (uint256) { + // Ensure that a non-existing schema ID wasn't passed by accident. + SchemaRecord memory schemaRecord = _schemaRegistry.getSchema(schemaUID); + if (schemaRecord.uid == EMPTY_UID) { + revert InvalidSchema(); + } + + uint256 length = data.length; + Attestation[] memory attestations = new Attestation[](length); + uint256[] memory values = new uint256[](length); + + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + RevocationRequestData memory request = data[i]; + + Attestation storage attestation = _db[request.uid]; + + // Ensure that we aren't attempting to revoke a non-existing attestation. + if (attestation.uid == EMPTY_UID) { + revert NotFound(); + } + + // Ensure that a wrong schema ID wasn't passed by accident. + if (attestation.schema != schemaUID) { + revert InvalidSchema(); + } + + // Allow only original attesters to revoke their attestations. + if (attestation.attester != revoker) { + revert AccessDenied(); + } + + // Please note that also checking of the schema itself is revocable is unnecessary, since it's not possible to + // make revocable attestations to an irrevocable schema. + if (!attestation.revocable) { + revert Irrevocable(); + } + + // Ensure that we aren't trying to revoke the same attestation twice. + if (attestation.revocationTime != 0) { + revert AlreadyRevoked(); + } + attestation.revocationTime = _time(); + + attestations[i] = attestation; + values[i] = request.value; + + emit Revoked(attestations[i].recipient, revoker, request.uid, schemaUID); + } + + return _resolveAttestations(schemaRecord, attestations, values, true, availableValue, last); + } + + /// @dev Resolves a new attestation or a revocation of an existing attestation. + /// @param schemaRecord The schema of the attestation. + /// @param attestation The data of the attestation to make/revoke. + /// @param value An explicit ETH amount to send to the resolver. + /// @param isRevocation Whether to resolve an attestation or its revocation. + /// @param availableValue The total available ETH amount that can be sent to the resolver. + /// @param last Whether this is the last attestations/revocations set. + /// @return Returns the total sent ETH amount. + function _resolveAttestation( + SchemaRecord memory schemaRecord, + Attestation memory attestation, + uint256 value, + bool isRevocation, + uint256 availableValue, + bool last + ) private returns (uint256) { + ISchemaResolver resolver = schemaRecord.resolver; + if (address(resolver) == address(0)) { + // Ensure that we don't accept payments if there is no resolver. + if (value != 0) { + revert NotPayable(); + } + + if (last) { + _refund(availableValue); + } + + return 0; + } + + // Ensure that we don't accept payments which can't be forwarded to the resolver. + if (value != 0) { + if (!resolver.isPayable()) { + revert NotPayable(); + } + + // Ensure that the attester/revoker doesn't try to spend more than available. + if (value > availableValue) { + revert InsufficientValue(); + } + + // Ensure to deduct the sent value explicitly. + unchecked { + availableValue -= value; + } + } + + if (isRevocation) { + if (!resolver.revoke{ value: value }(attestation)) { + revert InvalidRevocation(); + } + } else if (!resolver.attest{ value: value }(attestation)) { + revert InvalidAttestation(); + } + + if (last) { + _refund(availableValue); + } + + return value; + } + + /// @dev Resolves multiple attestations or revocations of existing attestations. + /// @param schemaRecord The schema of the attestation. + /// @param attestations The data of the attestations to make/revoke. + /// @param values Explicit ETH amounts to send to the resolver. + /// @param isRevocation Whether to resolve an attestation or its revocation. + /// @param availableValue The total available ETH amount that can be sent to the resolver. + /// @param last Whether this is the last attestations/revocations set. + /// @return Returns the total sent ETH amount. + function _resolveAttestations( + SchemaRecord memory schemaRecord, + Attestation[] memory attestations, + uint256[] memory values, + bool isRevocation, + uint256 availableValue, + bool last + ) private returns (uint256) { + uint256 length = attestations.length; + if (length == 1) { + return _resolveAttestation(schemaRecord, attestations[0], values[0], isRevocation, availableValue, last); + } + + ISchemaResolver resolver = schemaRecord.resolver; + if (address(resolver) == address(0)) { + // Ensure that we don't accept payments if there is no resolver. + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + if (values[i] != 0) { + revert NotPayable(); + } + } + + if (last) { + _refund(availableValue); + } + + return 0; + } + + uint256 totalUsedValue = 0; + bool isResolverPayable = resolver.isPayable(); + + for (uint256 i = 0; i < length; i = uncheckedInc(i)) { + uint256 value = values[i]; + + // Ensure that we don't accept payments which can't be forwarded to the resolver. + if (value == 0) { + continue; + } + + if (!isResolverPayable) { + revert NotPayable(); + } + + // Ensure that the attester/revoker doesn't try to spend more than available. + if (value > availableValue) { + revert InsufficientValue(); + } + + // Ensure to deduct the sent value explicitly and add it to the total used value by the batch. + unchecked { + availableValue -= value; + totalUsedValue += value; + } + } + + if (isRevocation) { + if (!resolver.multiRevoke{ value: totalUsedValue }(attestations, values)) { + revert InvalidRevocations(); + } + } else if (!resolver.multiAttest{ value: totalUsedValue }(attestations, values)) { + revert InvalidAttestations(); + } + + if (last) { + _refund(availableValue); + } + + return totalUsedValue; + } + + /// @dev Calculates a UID for a given attestation. + /// @param attestation The input attestation. + /// @param bump A bump value to use in case of a UID conflict. + /// @return Attestation UID. + function _getUID(Attestation memory attestation, uint32 bump) private pure returns (bytes32) { + return + keccak256( + abi.encodePacked( + attestation.schema, + attestation.recipient, + attestation.attester, + attestation.time, + attestation.expirationTime, + attestation.revocable, + attestation.refUID, + attestation.data, + bump + ) + ); + } + + /// @dev Refunds remaining ETH amount to the attester. + /// @param remainingValue The remaining ETH amount that was not sent to the resolver. + function _refund(uint256 remainingValue) private { + if (remainingValue > 0) { + // Using a regular transfer here might revert, for some non-EOA attesters, due to exceeding of the 2300 + // gas limit which is why we're using call instead (via sendValue), which the 2300 gas limit does not + // apply for. + payable(msg.sender).sendValue(remainingValue); + } + } + + /// @dev Timestamps the specified bytes32 data. + /// @param data The data to timestamp. + /// @param time The timestamp. + function _timestamp(bytes32 data, uint64 time) private { + if (_timestamps[data] != 0) { + revert AlreadyTimestamped(); + } + + _timestamps[data] = time; + + emit Timestamped(data, time); + } + + /// @dev Revokes the specified bytes32 data. + /// @param revoker The revoking account. + /// @param data The data to revoke. + /// @param time The timestamp the data was revoked with. + function _revokeOffchain(address revoker, bytes32 data, uint64 time) private { + mapping(bytes32 data => uint64 timestamp) storage revocations = _revocationsOffchain[revoker]; + + if (revocations[data] != 0) { + revert AlreadyRevokedOffchain(); + } + + revocations[data] = time; + + emit RevokedOffchain(revoker, data, time); + } + + /// @dev Merges lists of UIDs. + /// @param uidLists The provided lists of UIDs. + /// @param uidCount Total UID count. + /// @return A merged and flatten list of all the UIDs. + function _mergeUIDs(bytes32[][] memory uidLists, uint256 uidCount) private pure returns (bytes32[] memory) { + bytes32[] memory uids = new bytes32[](uidCount); + + uint256 currentIndex = 0; + uint256 uidListLength = uidLists.length; + for (uint256 i = 0; i < uidListLength; i = uncheckedInc(i)) { + bytes32[] memory currentUIDs = uidLists[i]; + uint256 currentUIDsLength = currentUIDs.length; + for (uint256 j = 0; j < currentUIDsLength; j = uncheckedInc(j)) { + uids[currentIndex] = currentUIDs[j]; + + unchecked { + ++currentIndex; + } + } + } + + return uids; + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/IEAS.sol b/data_entry/EAS/IEAS.sol similarity index 100% rename from data_entry/ownable-resolver/EAS/IEAS.sol rename to data_entry/EAS/IEAS.sol diff --git a/data_entry/ownable-resolver/EAS/ISchemaRegistry.sol b/data_entry/EAS/ISchemaRegistry.sol similarity index 100% rename from data_entry/ownable-resolver/EAS/ISchemaRegistry.sol rename to data_entry/EAS/ISchemaRegistry.sol diff --git a/data_entry/ownable-resolver/EAS/ISchemaResolver.sol b/data_entry/EAS/ISchemaResolver.sol similarity index 100% rename from data_entry/ownable-resolver/EAS/ISchemaResolver.sol rename to data_entry/EAS/ISchemaResolver.sol diff --git a/data_entry/ownable-resolver/EAS/ISemver.sol b/data_entry/EAS/ISemver.sol similarity index 100% rename from data_entry/ownable-resolver/EAS/ISemver.sol rename to data_entry/EAS/ISemver.sol diff --git a/data_entry/ownable-resolver/EAS/SchemaResolver.sol b/data_entry/EAS/SchemaResolver.sol similarity index 100% rename from data_entry/ownable-resolver/EAS/SchemaResolver.sol rename to data_entry/EAS/SchemaResolver.sol diff --git a/data_entry/ownable-resolver/EAS/Semver.sol b/data_entry/EAS/Semver.sol similarity index 100% rename from data_entry/ownable-resolver/EAS/Semver.sol rename to data_entry/EAS/Semver.sol diff --git a/data_entry/EAS/artifacts/ISchemaResolver.json b/data_entry/EAS/artifacts/ISchemaResolver.json new file mode 100644 index 0000000..4f6fdbc --- /dev/null +++ b/data_entry/EAS/artifacts/ISchemaResolver.json @@ -0,0 +1,382 @@ +{ + "deploy": { + "VM:-": { + "linkReferences": {}, + "autoDeployLib": true + }, + "main:1": { + "linkReferences": {}, + "autoDeployLib": true + }, + "ropsten:3": { + "linkReferences": {}, + "autoDeployLib": true + }, + "rinkeby:4": { + "linkReferences": {}, + "autoDeployLib": true + }, + "kovan:42": { + "linkReferences": {}, + "autoDeployLib": true + }, + "goerli:5": { + "linkReferences": {}, + "autoDeployLib": true + }, + "Custom": { + "linkReferences": {}, + "autoDeployLib": true + } + }, + "data": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "gasEstimates": null, + "methodIdentifiers": { + "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", + "isPayable()": "ce46e046", + "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", + "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", + "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", + "version()": "54fd4d50" + } + }, + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "attest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isPayable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiAttest", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation[]", + "name": "attestations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "multiRevoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "uid", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "schema", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "time", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "expirationTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "revocationTime", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "refUID", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "attester", + "type": "address" + }, + { + "internalType": "bool", + "name": "revocable", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct Attestation", + "name": "attestation", + "type": "tuple" + } + ], + "name": "revoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver_metadata.json b/data_entry/EAS/artifacts/ISchemaResolver_metadata.json similarity index 71% rename from data_entry/ownable-resolver/artifacts/OwnerRecipientResolver_metadata.json rename to data_entry/EAS/artifacts/ISchemaResolver_metadata.json index bd33bd2..4cfad5b 100644 --- a/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver_metadata.json +++ b/data_entry/EAS/artifacts/ISchemaResolver_metadata.json @@ -1,46 +1,10 @@ { "compiler": { - "version": "0.8.26+commit.8a97fa7a" + "version": "0.8.27+commit.40a35a09" }, "language": "Solidity", "output": { "abi": [ - { - "inputs": [ - { - "internalType": "contract IEAS", - "name": "eas", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "AccessDenied", - "type": "error" - }, - { - "inputs": [], - "name": "InsufficientValue", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidEAS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidLength", - "type": "error" - }, - { - "inputs": [], - "name": "NotPayable", - "type": "error" - }, { "inputs": [ { @@ -360,10 +324,6 @@ ], "stateMutability": "view", "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" } ], "devdoc": { @@ -414,7 +374,7 @@ } } }, - "title": "A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient.", + "title": "ISchemaResolver", "version": 1 }, "userdoc": { @@ -439,12 +399,13 @@ "notice": "Returns the full semver contract version." } }, + "notice": "The interface of an optional schema resolver.", "version": 1 } }, "settings": { "compilationTarget": { - "ownable-resolver.sol": "OwnerRecipientResolver" + "EAS/ISchemaResolver.sol": "ISchemaResolver" }, "evmVersion": "cancun", "libraries": {}, @@ -458,46 +419,6 @@ "remappings": [] }, "sources": { - "@openzeppelin/contracts/access/Ownable.sol": { - "keccak256": "0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb", - "license": "MIT", - "urls": [ - "bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6", - "dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a" - ] - }, - "@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2", - "license": "MIT", - "urls": [ - "bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12", - "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF" - ] - }, - "@openzeppelin/contracts/utils/Strings.sol": { - "keccak256": "0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792", - "license": "MIT", - "urls": [ - "bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453", - "dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i" - ] - }, - "@openzeppelin/contracts/utils/math/Math.sol": { - "keccak256": "0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d", - "license": "MIT", - "urls": [ - "bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875", - "dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L" - ] - }, - "@openzeppelin/contracts/utils/math/SignedMath.sol": { - "keccak256": "0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72", - "license": "MIT", - "urls": [ - "bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc", - "dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT" - ] - }, "EAS/Common.sol": { "keccak256": "0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6", "license": "MIT", @@ -506,22 +427,6 @@ "dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1" ] }, - "EAS/IEAS.sol": { - "keccak256": "0xdc4fed434a7d7907767ba1dc6a8e9ddc94ede6df08fbea5d827077ef22e8bd8c", - "license": "MIT", - "urls": [ - "bzz-raw://297555c22ff767608088c01ba2efe6da4dff7e95b7eb614e09d72cb36d0c989b", - "dweb:/ipfs/QmQ7YWcBxiaf2mXZL1VLFsYSJPtVTHbWSBuimATVLMC7U4" - ] - }, - "EAS/ISchemaRegistry.sol": { - "keccak256": "0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006", - "license": "MIT", - "urls": [ - "bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749", - "dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47" - ] - }, "EAS/ISchemaResolver.sol": { "keccak256": "0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787", "license": "MIT", @@ -537,30 +442,6 @@ "bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4", "dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp" ] - }, - "EAS/SchemaResolver.sol": { - "keccak256": "0xb6dc636c973996ca481d6522decae3ecae8c043c8d2ca5228e8f53a6c0210951", - "license": "MIT", - "urls": [ - "bzz-raw://5a7f2f9db27662ba6aea6be58351e1cc834a1c84122a6cecfcb6d293628a1364", - "dweb:/ipfs/QmTkQ7gDaJaY4tgneQyNxmbz9AovJQmMfuZgG8akbAqu5K" - ] - }, - "EAS/Semver.sol": { - "keccak256": "0xcb67b60a08b4acb41ccda1ee2a44bb3d4291f3da9ecd60eed49991bdbfafb972", - "license": "MIT", - "urls": [ - "bzz-raw://eea3e91b983ce442be39c0a88c93627043d1c6de342be99562916a948a5933e3", - "dweb:/ipfs/QmTFeE2vsjwn1pNeSMWAoQ4NivUTHza5DYMgJA854Ddx8F" - ] - }, - "ownable-resolver.sol": { - "keccak256": "0xcc7c94f5c6175bf58d550a8a1376a34af81c94b76f95b097a266b7e5b34a59e4", - "license": "MIT", - "urls": [ - "bzz-raw://55753db971de8a9f74d847ceb2a51bc75a746a48a388cb170f418f84af776559", - "dweb:/ipfs/Qmecz5nqbAAwnTPvaVUVVHfkX1Wbj4idsUb8rGZ7YqCSgV" - ] } }, "version": 1 diff --git a/data_entry/ownable-resolver/EAS/artifacts/build-info/3b0c51886aacd0891064034e15191e8e.json b/data_entry/EAS/artifacts/build-info/b3243e0e0ce278cb57851439b44f680d.json similarity index 99% rename from data_entry/ownable-resolver/EAS/artifacts/build-info/3b0c51886aacd0891064034e15191e8e.json rename to data_entry/EAS/artifacts/build-info/b3243e0e0ce278cb57851439b44f680d.json index a88b96b..2b2a1d5 100644 --- a/data_entry/ownable-resolver/EAS/artifacts/build-info/3b0c51886aacd0891064034e15191e8e.json +++ b/data_entry/EAS/artifacts/build-info/b3243e0e0ce278cb57851439b44f680d.json @@ -1,8 +1,8 @@ { - "id": "3b0c51886aacd0891064034e15191e8e", + "id": "b3243e0e0ce278cb57851439b44f680d", "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.26", - "solcLongVersion": "0.8.26+commit.8a97fa7a", + "solcVersion": "0.8.27", + "solcLongVersion": "0.8.27+commit.40a35a09", "input": { "language": "Solidity", "sources": { diff --git a/data_entry/EAS/eip1271/EIP1271Verifier.sol b/data_entry/EAS/eip1271/EIP1271Verifier.sol new file mode 100644 index 0000000..8b21c54 --- /dev/null +++ b/data_entry/EAS/eip1271/EIP1271Verifier.sol @@ -0,0 +1,171 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.27; + +import { Address } from "@openzeppelin/contracts/utils/Address.sol"; +import { EIP712 } from "@openzeppelin/contracts/utils/cryptography/EIP712.sol"; +import { SignatureChecker } from "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol"; +import { DeadlineExpired, NO_EXPIRATION_TIME, Signature, InvalidSignature } from "./../Common.sol"; + +// prettier-ignore +import { + AttestationRequestData, + DelegatedAttestationRequest, + DelegatedRevocationRequest, + RevocationRequestData +} from "../IEAS.sol"; + +/// @title EIP1271Verifier +/// @notice EIP1271Verifier typed signatures verifier for EAS delegated attestations. +abstract contract EIP1271Verifier is EIP712 { + using Address for address; + + error InvalidNonce(); + + // The hash of the data type used to relay calls to the attest function. It's the value of + // keccak256("Attest(address attester,bytes32 schema,address recipient,uint64 expirationTime,bool revocable,bytes32 refUID,bytes data,uint256 value,uint256 nonce,uint64 deadline)"). + bytes32 private constant ATTEST_TYPEHASH = 0xfeb2925a02bae3dae48d424a0437a2b6ac939aa9230ddc55a1a76f065d988076; + + // The hash of the data type used to relay calls to the revoke function. It's the value of + // keccak256("Revoke(address revoker,bytes32 schema,bytes32 uid,uint256 value,uint256 nonce,uint64 deadline)"). + bytes32 private constant REVOKE_TYPEHASH = 0xb5d556f07587ec0f08cf386545cc4362c702a001650c2058002615ee5c9d1e75; + + // The user readable name of the signing domain. + string private _name; + + // Replay protection nonces. + mapping(address attester => uint256 nonce) private _nonces; + + /// @notice Emitted when users invalidate nonces by increasing their nonces to (higher) new values. + /// @param oldNonce The previous nonce. + /// @param newNonce The new value. + event NonceIncreased(uint256 oldNonce, uint256 newNonce); + + /// @dev Creates a new EIP1271Verifier instance. + /// @param version The current major version of the signing domain + constructor(string memory name, string memory version) EIP712(name, version) { + _name = name; + } + + /// @notice Returns the domain separator used in the encoding of the signatures for attest, and revoke. + /// @return The domain separator used in the encoding of the signatures for attest, and revoke. + function getDomainSeparator() external view returns (bytes32) { + return _domainSeparatorV4(); + } + + /// @notice Returns the current nonce per-account. + /// @param account The requested account. + /// @return The current nonce. + function getNonce(address account) external view returns (uint256) { + return _nonces[account]; + } + + /// @notice Returns the EIP712 type hash for the attest function. + /// @return The EIP712 type hash for the attest function. + function getAttestTypeHash() external pure returns (bytes32) { + return ATTEST_TYPEHASH; + } + + /// @notice Returns the EIP712 type hash for the revoke function. + /// @return The EIP712 type hash for the revoke function. + function getRevokeTypeHash() external pure returns (bytes32) { + return REVOKE_TYPEHASH; + } + + /// @notice Returns the EIP712 name. + /// @return The EIP712 name. + function getName() external view returns (string memory) { + return _name; + } + + /// @notice Provides users an option to invalidate nonces by increasing their nonces to (higher) new values. + /// @param newNonce The (higher) new value. + function increaseNonce(uint256 newNonce) external { + uint256 oldNonce = _nonces[msg.sender]; + if (newNonce <= oldNonce) { + revert InvalidNonce(); + } + + _nonces[msg.sender] = newNonce; + + emit NonceIncreased({ oldNonce: oldNonce, newNonce: newNonce }); + } + + /// @dev Verifies delegated attestation request. + /// @param request The arguments of the delegated attestation request. + function _verifyAttest(DelegatedAttestationRequest memory request) internal { + if (request.deadline != NO_EXPIRATION_TIME && request.deadline < _time()) { + revert DeadlineExpired(); + } + + AttestationRequestData memory data = request.data; + Signature memory signature = request.signature; + + bytes32 hash = _hashTypedDataV4( + keccak256( + abi.encode( + ATTEST_TYPEHASH, + request.attester, + request.schema, + data.recipient, + data.expirationTime, + data.revocable, + data.refUID, + keccak256(data.data), + data.value, + _nonces[request.attester]++, + request.deadline + ) + ) + ); + if ( + !SignatureChecker.isValidSignatureNow( + request.attester, + hash, + abi.encodePacked(signature.r, signature.s, signature.v) + ) + ) { + revert InvalidSignature(); + } + } + + /// @dev Verifies delegated revocation request. + /// @param request The arguments of the delegated revocation request. + function _verifyRevoke(DelegatedRevocationRequest memory request) internal { + if (request.deadline != NO_EXPIRATION_TIME && request.deadline < _time()) { + revert DeadlineExpired(); + } + + RevocationRequestData memory data = request.data; + Signature memory signature = request.signature; + + bytes32 hash = _hashTypedDataV4( + keccak256( + abi.encode( + REVOKE_TYPEHASH, + request.revoker, + request.schema, + data.uid, + data.value, + _nonces[request.revoker]++, + request.deadline + ) + ) + ); + if ( + !SignatureChecker.isValidSignatureNow( + request.revoker, + hash, + abi.encodePacked(signature.r, signature.s, signature.v) + ) + ) { + revert InvalidSignature(); + } + } + + /// @dev Returns the current's block timestamp. This method is overridden during tests and used to simulate the + /// current block time. + function _time() internal view virtual returns (uint64) { + return uint64(block.timestamp); + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/access/Ownable.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/access/Ownable.sol deleted file mode 100644 index bd96f66..0000000 --- a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/access/Ownable.sol +++ /dev/null @@ -1,100 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) - -pragma solidity ^0.8.20; - -import {Context} from "../utils/Context.sol"; - -/** - * @dev Contract module which provides a basic access control mechanism, where - * there is an account (an owner) that can be granted exclusive access to - * specific functions. - * - * The initial owner is set to the address provided by the deployer. This can - * later be changed with {transferOwnership}. - * - * This module is used through inheritance. It will make available the modifier - * `onlyOwner`, which can be applied to your functions to restrict their use to - * the owner. - */ -abstract contract Ownable is Context { - address private _owner; - - /** - * @dev The caller account is not authorized to perform an operation. - */ - error OwnableUnauthorizedAccount(address account); - - /** - * @dev The owner is not a valid owner account. (eg. `address(0)`) - */ - error OwnableInvalidOwner(address owner); - - event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); - - /** - * @dev Initializes the contract setting the address provided by the deployer as the initial owner. - */ - constructor(address initialOwner) { - if (initialOwner == address(0)) { - revert OwnableInvalidOwner(address(0)); - } - _transferOwnership(initialOwner); - } - - /** - * @dev Throws if called by any account other than the owner. - */ - modifier onlyOwner() { - _checkOwner(); - _; - } - - /** - * @dev Returns the address of the current owner. - */ - function owner() public view virtual returns (address) { - return _owner; - } - - /** - * @dev Throws if the sender is not the owner. - */ - function _checkOwner() internal view virtual { - if (owner() != _msgSender()) { - revert OwnableUnauthorizedAccount(_msgSender()); - } - } - - /** - * @dev Leaves the contract without owner. It will not be possible to call - * `onlyOwner` functions. Can only be called by the current owner. - * - * NOTE: Renouncing ownership will leave the contract without an owner, - * thereby disabling any functionality that is only available to the owner. - */ - function renounceOwnership() public virtual onlyOwner { - _transferOwnership(address(0)); - } - - /** - * @dev Transfers ownership of the contract to a new account (`newOwner`). - * Can only be called by the current owner. - */ - function transferOwnership(address newOwner) public virtual onlyOwner { - if (newOwner == address(0)) { - revert OwnableInvalidOwner(address(0)); - } - _transferOwnership(newOwner); - } - - /** - * @dev Transfers ownership of the contract to a new account (`newOwner`). - * Internal function without access restriction. - */ - function _transferOwnership(address newOwner) internal virtual { - address oldOwner = _owner; - _owner = newOwner; - emit OwnershipTransferred(oldOwner, newOwner); - } -} diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Context.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Context.sol deleted file mode 100644 index 4e535fe..0000000 --- a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Context.sol +++ /dev/null @@ -1,28 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) - -pragma solidity ^0.8.20; - -/** - * @dev Provides information about the current execution context, including the - * sender of the transaction and its data. While these are generally available - * via msg.sender and msg.data, they should not be accessed in such a direct - * manner, since when dealing with meta-transactions the account sending and - * paying for execution may not be the actual sender (as far as an application - * is concerned). - * - * This contract is only required for intermediate, library-like contracts. - */ -abstract contract Context { - function _msgSender() internal view virtual returns (address) { - return msg.sender; - } - - function _msgData() internal view virtual returns (bytes calldata) { - return msg.data; - } - - function _contextSuffixLength() internal view virtual returns (uint256) { - return 0; - } -} diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Strings.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Strings.sol deleted file mode 100644 index b2c0a40..0000000 --- a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/Strings.sol +++ /dev/null @@ -1,94 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol) - -pragma solidity ^0.8.20; - -import {Math} from "./math/Math.sol"; -import {SignedMath} from "./math/SignedMath.sol"; - -/** - * @dev String operations. - */ -library Strings { - bytes16 private constant HEX_DIGITS = "0123456789abcdef"; - uint8 private constant ADDRESS_LENGTH = 20; - - /** - * @dev The `value` string doesn't fit in the specified `length`. - */ - error StringsInsufficientHexLength(uint256 value, uint256 length); - - /** - * @dev Converts a `uint256` to its ASCII `string` decimal representation. - */ - function toString(uint256 value) internal pure returns (string memory) { - unchecked { - uint256 length = Math.log10(value) + 1; - string memory buffer = new string(length); - uint256 ptr; - /// @solidity memory-safe-assembly - assembly { - ptr := add(buffer, add(32, length)) - } - while (true) { - ptr--; - /// @solidity memory-safe-assembly - assembly { - mstore8(ptr, byte(mod(value, 10), HEX_DIGITS)) - } - value /= 10; - if (value == 0) break; - } - return buffer; - } - } - - /** - * @dev Converts a `int256` to its ASCII `string` decimal representation. - */ - function toStringSigned(int256 value) internal pure returns (string memory) { - return string.concat(value < 0 ? "-" : "", toString(SignedMath.abs(value))); - } - - /** - * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. - */ - function toHexString(uint256 value) internal pure returns (string memory) { - unchecked { - return toHexString(value, Math.log256(value) + 1); - } - } - - /** - * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. - */ - function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { - uint256 localValue = value; - bytes memory buffer = new bytes(2 * length + 2); - buffer[0] = "0"; - buffer[1] = "x"; - for (uint256 i = 2 * length + 1; i > 1; --i) { - buffer[i] = HEX_DIGITS[localValue & 0xf]; - localValue >>= 4; - } - if (localValue != 0) { - revert StringsInsufficientHexLength(value, length); - } - return string(buffer); - } - - /** - * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal - * representation. - */ - function toHexString(address addr) internal pure returns (string memory) { - return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH); - } - - /** - * @dev Returns true if the two strings are equal. - */ - function equal(string memory a, string memory b) internal pure returns (bool) { - return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b)); - } -} diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/Math.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/Math.sol deleted file mode 100644 index 9681524..0000000 --- a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/Math.sol +++ /dev/null @@ -1,415 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol) - -pragma solidity ^0.8.20; - -/** - * @dev Standard math utilities missing in the Solidity language. - */ -library Math { - /** - * @dev Muldiv operation overflow. - */ - error MathOverflowedMulDiv(); - - enum Rounding { - Floor, // Toward negative infinity - Ceil, // Toward positive infinity - Trunc, // Toward zero - Expand // Away from zero - } - - /** - * @dev Returns the addition of two unsigned integers, with an overflow flag. - */ - function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - uint256 c = a + b; - if (c < a) return (false, 0); - return (true, c); - } - } - - /** - * @dev Returns the subtraction of two unsigned integers, with an overflow flag. - */ - function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - if (b > a) return (false, 0); - return (true, a - b); - } - } - - /** - * @dev Returns the multiplication of two unsigned integers, with an overflow flag. - */ - function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - // Gas optimization: this is cheaper than requiring 'a' not being zero, but the - // benefit is lost if 'b' is also tested. - // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 - if (a == 0) return (true, 0); - uint256 c = a * b; - if (c / a != b) return (false, 0); - return (true, c); - } - } - - /** - * @dev Returns the division of two unsigned integers, with a division by zero flag. - */ - function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - if (b == 0) return (false, 0); - return (true, a / b); - } - } - - /** - * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. - */ - function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - if (b == 0) return (false, 0); - return (true, a % b); - } - } - - /** - * @dev Returns the largest of two numbers. - */ - function max(uint256 a, uint256 b) internal pure returns (uint256) { - return a > b ? a : b; - } - - /** - * @dev Returns the smallest of two numbers. - */ - function min(uint256 a, uint256 b) internal pure returns (uint256) { - return a < b ? a : b; - } - - /** - * @dev Returns the average of two numbers. The result is rounded towards - * zero. - */ - function average(uint256 a, uint256 b) internal pure returns (uint256) { - // (a + b) / 2 can overflow. - return (a & b) + (a ^ b) / 2; - } - - /** - * @dev Returns the ceiling of the division of two numbers. - * - * This differs from standard division with `/` in that it rounds towards infinity instead - * of rounding towards zero. - */ - function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) { - if (b == 0) { - // Guarantee the same behavior as in a regular Solidity division. - return a / b; - } - - // (a + b - 1) / b can overflow on addition, so we distribute. - return a == 0 ? 0 : (a - 1) / b + 1; - } - - /** - * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or - * denominator == 0. - * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by - * Uniswap Labs also under MIT license. - */ - function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) { - unchecked { - // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use - // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256 - // variables such that product = prod1 * 2^256 + prod0. - uint256 prod0 = x * y; // Least significant 256 bits of the product - uint256 prod1; // Most significant 256 bits of the product - assembly { - let mm := mulmod(x, y, not(0)) - prod1 := sub(sub(mm, prod0), lt(mm, prod0)) - } - - // Handle non-overflow cases, 256 by 256 division. - if (prod1 == 0) { - // Solidity will revert if denominator == 0, unlike the div opcode on its own. - // The surrounding unchecked block does not change this fact. - // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic. - return prod0 / denominator; - } - - // Make sure the result is less than 2^256. Also prevents denominator == 0. - if (denominator <= prod1) { - revert MathOverflowedMulDiv(); - } - - /////////////////////////////////////////////// - // 512 by 256 division. - /////////////////////////////////////////////// - - // Make division exact by subtracting the remainder from [prod1 prod0]. - uint256 remainder; - assembly { - // Compute remainder using mulmod. - remainder := mulmod(x, y, denominator) - - // Subtract 256 bit number from 512 bit number. - prod1 := sub(prod1, gt(remainder, prod0)) - prod0 := sub(prod0, remainder) - } - - // Factor powers of two out of denominator and compute largest power of two divisor of denominator. - // Always >= 1. See https://cs.stackexchange.com/q/138556/92363. - - uint256 twos = denominator & (0 - denominator); - assembly { - // Divide denominator by twos. - denominator := div(denominator, twos) - - // Divide [prod1 prod0] by twos. - prod0 := div(prod0, twos) - - // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one. - twos := add(div(sub(0, twos), twos), 1) - } - - // Shift in bits from prod1 into prod0. - prod0 |= prod1 * twos; - - // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such - // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for - // four bits. That is, denominator * inv = 1 mod 2^4. - uint256 inverse = (3 * denominator) ^ 2; - - // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also - // works in modular arithmetic, doubling the correct bits in each step. - inverse *= 2 - denominator * inverse; // inverse mod 2^8 - inverse *= 2 - denominator * inverse; // inverse mod 2^16 - inverse *= 2 - denominator * inverse; // inverse mod 2^32 - inverse *= 2 - denominator * inverse; // inverse mod 2^64 - inverse *= 2 - denominator * inverse; // inverse mod 2^128 - inverse *= 2 - denominator * inverse; // inverse mod 2^256 - - // Because the division is now exact we can divide by multiplying with the modular inverse of denominator. - // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is - // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1 - // is no longer required. - result = prod0 * inverse; - return result; - } - } - - /** - * @notice Calculates x * y / denominator with full precision, following the selected rounding direction. - */ - function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) { - uint256 result = mulDiv(x, y, denominator); - if (unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0) { - result += 1; - } - return result; - } - - /** - * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded - * towards zero. - * - * Inspired by Henry S. Warren, Jr.'s "Hacker's Delight" (Chapter 11). - */ - function sqrt(uint256 a) internal pure returns (uint256) { - if (a == 0) { - return 0; - } - - // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target. - // - // We know that the "msb" (most significant bit) of our target number `a` is a power of 2 such that we have - // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`. - // - // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)` - // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))` - // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)` - // - // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit. - uint256 result = 1 << (log2(a) >> 1); - - // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128, - // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at - // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision - // into the expected uint128 result. - unchecked { - result = (result + a / result) >> 1; - result = (result + a / result) >> 1; - result = (result + a / result) >> 1; - result = (result + a / result) >> 1; - result = (result + a / result) >> 1; - result = (result + a / result) >> 1; - result = (result + a / result) >> 1; - return min(result, a / result); - } - } - - /** - * @notice Calculates sqrt(a), following the selected rounding direction. - */ - function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) { - unchecked { - uint256 result = sqrt(a); - return result + (unsignedRoundsUp(rounding) && result * result < a ? 1 : 0); - } - } - - /** - * @dev Return the log in base 2 of a positive value rounded towards zero. - * Returns 0 if given 0. - */ - function log2(uint256 value) internal pure returns (uint256) { - uint256 result = 0; - unchecked { - if (value >> 128 > 0) { - value >>= 128; - result += 128; - } - if (value >> 64 > 0) { - value >>= 64; - result += 64; - } - if (value >> 32 > 0) { - value >>= 32; - result += 32; - } - if (value >> 16 > 0) { - value >>= 16; - result += 16; - } - if (value >> 8 > 0) { - value >>= 8; - result += 8; - } - if (value >> 4 > 0) { - value >>= 4; - result += 4; - } - if (value >> 2 > 0) { - value >>= 2; - result += 2; - } - if (value >> 1 > 0) { - result += 1; - } - } - return result; - } - - /** - * @dev Return the log in base 2, following the selected rounding direction, of a positive value. - * Returns 0 if given 0. - */ - function log2(uint256 value, Rounding rounding) internal pure returns (uint256) { - unchecked { - uint256 result = log2(value); - return result + (unsignedRoundsUp(rounding) && 1 << result < value ? 1 : 0); - } - } - - /** - * @dev Return the log in base 10 of a positive value rounded towards zero. - * Returns 0 if given 0. - */ - function log10(uint256 value) internal pure returns (uint256) { - uint256 result = 0; - unchecked { - if (value >= 10 ** 64) { - value /= 10 ** 64; - result += 64; - } - if (value >= 10 ** 32) { - value /= 10 ** 32; - result += 32; - } - if (value >= 10 ** 16) { - value /= 10 ** 16; - result += 16; - } - if (value >= 10 ** 8) { - value /= 10 ** 8; - result += 8; - } - if (value >= 10 ** 4) { - value /= 10 ** 4; - result += 4; - } - if (value >= 10 ** 2) { - value /= 10 ** 2; - result += 2; - } - if (value >= 10 ** 1) { - result += 1; - } - } - return result; - } - - /** - * @dev Return the log in base 10, following the selected rounding direction, of a positive value. - * Returns 0 if given 0. - */ - function log10(uint256 value, Rounding rounding) internal pure returns (uint256) { - unchecked { - uint256 result = log10(value); - return result + (unsignedRoundsUp(rounding) && 10 ** result < value ? 1 : 0); - } - } - - /** - * @dev Return the log in base 256 of a positive value rounded towards zero. - * Returns 0 if given 0. - * - * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string. - */ - function log256(uint256 value) internal pure returns (uint256) { - uint256 result = 0; - unchecked { - if (value >> 128 > 0) { - value >>= 128; - result += 16; - } - if (value >> 64 > 0) { - value >>= 64; - result += 8; - } - if (value >> 32 > 0) { - value >>= 32; - result += 4; - } - if (value >> 16 > 0) { - value >>= 16; - result += 2; - } - if (value >> 8 > 0) { - result += 1; - } - } - return result; - } - - /** - * @dev Return the log in base 256, following the selected rounding direction, of a positive value. - * Returns 0 if given 0. - */ - function log256(uint256 value, Rounding rounding) internal pure returns (uint256) { - unchecked { - uint256 result = log256(value); - return result + (unsignedRoundsUp(rounding) && 1 << (result << 3) < value ? 1 : 0); - } - } - - /** - * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers. - */ - function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) { - return uint8(rounding) % 2 == 1; - } -} diff --git a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/SignedMath.sol b/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/SignedMath.sol deleted file mode 100644 index 66a6151..0000000 --- a/data_entry/ownable-resolver/.deps/npm/@openzeppelin/contracts/utils/math/SignedMath.sol +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SignedMath.sol) - -pragma solidity ^0.8.20; - -/** - * @dev Standard signed math utilities missing in the Solidity language. - */ -library SignedMath { - /** - * @dev Returns the largest of two signed numbers. - */ - function max(int256 a, int256 b) internal pure returns (int256) { - return a > b ? a : b; - } - - /** - * @dev Returns the smallest of two signed numbers. - */ - function min(int256 a, int256 b) internal pure returns (int256) { - return a < b ? a : b; - } - - /** - * @dev Returns the average of two signed numbers without overflow. - * The result is rounded towards zero. - */ - function average(int256 a, int256 b) internal pure returns (int256) { - // Formula from the book "Hacker's Delight" - int256 x = (a & b) + ((a ^ b) >> 1); - return x + (int256(uint256(x) >> 255) & (a ^ b)); - } - - /** - * @dev Returns the absolute unsigned value of a signed value. - */ - function abs(int256 n) internal pure returns (uint256) { - unchecked { - // must be unchecked in order to support `n = type(int256).min` - return uint256(n >= 0 ? n : -n); - } - } -} diff --git a/data_entry/ownable-resolver/.prettierrc.json b/data_entry/ownable-resolver/.prettierrc.json new file mode 100644 index 0000000..b2a56f2 --- /dev/null +++ b/data_entry/ownable-resolver/.prettierrc.json @@ -0,0 +1,38 @@ +{ + "overrides": [ + { + "files": "*.sol", + "options": { + "printWidth": 80, + "tabWidth": 4, + "useTabs": false, + "singleQuote": false, + "bracketSpacing": false + } + }, + { + "files": "*.yml", + "options": {} + }, + { + "files": "*.yaml", + "options": {} + }, + { + "files": "*.toml", + "options": {} + }, + { + "files": "*.json", + "options": {} + }, + { + "files": "*.js", + "options": {} + }, + { + "files": "*.ts", + "options": {} + } + ] +} diff --git a/data_entry/ownable-resolver/EAS/artifacts/ISemver.json b/data_entry/ownable-resolver/EAS/artifacts/ISemver.json deleted file mode 100644 index 4627fdb..0000000 --- a/data_entry/ownable-resolver/EAS/artifacts/ISemver.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "deploy": { - "VM:-": { - "linkReferences": {}, - "autoDeployLib": true - }, - "main:1": { - "linkReferences": {}, - "autoDeployLib": true - }, - "ropsten:3": { - "linkReferences": {}, - "autoDeployLib": true - }, - "rinkeby:4": { - "linkReferences": {}, - "autoDeployLib": true - }, - "kovan:42": { - "linkReferences": {}, - "autoDeployLib": true - }, - "goerli:5": { - "linkReferences": {}, - "autoDeployLib": true - }, - "Custom": { - "linkReferences": {}, - "autoDeployLib": true - } - }, - "data": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "version()": "54fd4d50" - } - }, - "abi": [ - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ] -} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/artifacts/ISemver_metadata.json b/data_entry/ownable-resolver/EAS/artifacts/ISemver_metadata.json deleted file mode 100644 index e3d5e91..0000000 --- a/data_entry/ownable-resolver/EAS/artifacts/ISemver_metadata.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "compiler": { - "version": "0.8.26+commit.8a97fa7a" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "ISemver", - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "notice": "A semver interface.", - "version": 1 - } - }, - "settings": { - "compilationTarget": { - "EAS/ISemver.sol": "ISemver" - }, - "evmVersion": "cancun", - "libraries": {}, - "metadata": { - "bytecodeHash": "ipfs" - }, - "optimizer": { - "enabled": false, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "EAS/ISemver.sol": { - "keccak256": "0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf", - "license": "MIT", - "urls": [ - "bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4", - "dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp" - ] - } - }, - "version": 1 -} \ No newline at end of file diff --git a/data_entry/ownable-resolver/EAS/artifacts/build-info/91f5e85fa8c0309bb08e7e85a31b1ed6.json b/data_entry/ownable-resolver/EAS/artifacts/build-info/91f5e85fa8c0309bb08e7e85a31b1ed6.json deleted file mode 100644 index e50a73d..0000000 --- a/data_entry/ownable-resolver/EAS/artifacts/build-info/91f5e85fa8c0309bb08e7e85a31b1ed6.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "id": "91f5e85fa8c0309bb08e7e85a31b1ed6", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.26", - "solcLongVersion": "0.8.26+commit.8a97fa7a", - "input": { - "language": "Solidity", - "sources": { - "EAS/ISemver.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/// @title ISemver\n/// @notice A semver interface.\ninterface ISemver {\n /// @notice Returns the full semver contract version.\n /// @return Semver contract version as a string.\n function version() external view returns (string memory);\n}" - } - }, - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "": [ - "ast" - ], - "*": [ - "abi", - "metadata", - "devdoc", - "userdoc", - "storageLayout", - "evm.legacyAssembly", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "evm.gasEstimates", - "evm.assembly" - ] - } - }, - "remappings": [] - } - }, - "output": { - "contracts": { - "EAS/ISemver.sol": { - "ISemver": { - "abi": [ - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "ISemver", - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "version()": "54fd4d50" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"ISemver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"A semver interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/ISemver.sol\":\"ISemver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": { - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "notice": "A semver interface.", - "version": 1 - } - } - } - }, - "sources": { - "EAS/ISemver.sol": { - "ast": { - "absolutePath": "EAS/ISemver.sol", - "exportedSymbols": { - "ISemver": [ - 9 - ] - }, - "id": 10, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:0" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "ISemver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 2, - "nodeType": "StructuredDocumentation", - "src": "58:51:0", - "text": "@title ISemver\n @notice A semver interface." - }, - "fullyImplemented": false, - "id": 9, - "linearizedBaseContracts": [ - 9 - ], - "name": "ISemver", - "nameLocation": "119:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 3, - "nodeType": "StructuredDocumentation", - "src": "133:106:0", - "text": "@notice Returns the full semver contract version.\n @return Semver contract version as a string." - }, - "functionSelector": "54fd4d50", - "id": 8, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "version", - "nameLocation": "253:7:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4, - "nodeType": "ParameterList", - "parameters": [], - "src": "260:2:0" - }, - "returnParameters": { - "id": 7, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 8, - "src": "286:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "286:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "285:15:0" - }, - "scope": 9, - "src": "244:57:0", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10, - "src": "109:194:0", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "33:270:0" - }, - "id": 0 - } - } - } -} \ No newline at end of file diff --git a/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver.json b/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver.json deleted file mode 100644 index a969913..0000000 --- a/data_entry/ownable-resolver/artifacts/OwnerRecipientResolver.json +++ /dev/null @@ -1,7866 +0,0 @@ -{ - "deploy": { - "VM:-": { - "linkReferences": {}, - "autoDeployLib": true - }, - "main:1": { - "linkReferences": {}, - "autoDeployLib": true - }, - "ropsten:3": { - "linkReferences": {}, - "autoDeployLib": true - }, - "rinkeby:4": { - "linkReferences": {}, - "autoDeployLib": true - }, - "kovan:42": { - "linkReferences": {}, - "autoDeployLib": true - }, - "goerli:5": { - "linkReferences": {}, - "autoDeployLib": true - }, - "Custom": { - "linkReferences": {}, - "autoDeployLib": true - } - }, - "data": { - "bytecode": { - "functionDebugData": { - "@_2144": { - "entryPoint": null, - "id": 2144, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_2452": { - "entryPoint": null, - "id": 2452, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_2502": { - "entryPoint": null, - "id": 2502, - "parameterSlots": 1, - "returnSlots": 0 - }, - "abi_decode_t_contract$_IEAS_$1964_fromMemory": { - "entryPoint": 334, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_contract$_IEAS_$1964_fromMemory": { - "entryPoint": 354, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "allocate_unbounded": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 1 - }, - "cleanup_t_address": { - "entryPoint": 278, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "cleanup_t_contract$_IEAS_$1964": { - "entryPoint": 295, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "cleanup_t_uint160": { - "entryPoint": 247, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 243, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_t_contract$_IEAS_$1964": { - "entryPoint": 312, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nativeSrc": "0:1392:13", - "nodeType": "YulBlock", - "src": "0:1392:13", - "statements": [ - { - "body": { - "nativeSrc": "47:35:13", - "nodeType": "YulBlock", - "src": "47:35:13", - "statements": [ - { - "nativeSrc": "57:19:13", - "nodeType": "YulAssignment", - "src": "57:19:13", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "73:2:13", - "nodeType": "YulLiteral", - "src": "73:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "67:5:13", - "nodeType": "YulIdentifier", - "src": "67:5:13" - }, - "nativeSrc": "67:9:13", - "nodeType": "YulFunctionCall", - "src": "67:9:13" - }, - "variableNames": [ - { - "name": "memPtr", - "nativeSrc": "57:6:13", - "nodeType": "YulIdentifier", - "src": "57:6:13" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nativeSrc": "7:75:13", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nativeSrc": "40:6:13", - "nodeType": "YulTypedName", - "src": "40:6:13", - "type": "" - } - ], - "src": "7:75:13" - }, - { - "body": { - "nativeSrc": "177:28:13", - "nodeType": "YulBlock", - "src": "177:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "194:1:13", - "nodeType": "YulLiteral", - "src": "194:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "197:1:13", - "nodeType": "YulLiteral", - "src": "197:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "187:6:13", - "nodeType": "YulIdentifier", - "src": "187:6:13" - }, - "nativeSrc": "187:12:13", - "nodeType": "YulFunctionCall", - "src": "187:12:13" - }, - "nativeSrc": "187:12:13", - "nodeType": "YulExpressionStatement", - "src": "187:12:13" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "88:117:13", - "nodeType": "YulFunctionDefinition", - "src": "88:117:13" - }, - { - "body": { - "nativeSrc": "300:28:13", - "nodeType": "YulBlock", - "src": "300:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "317:1:13", - "nodeType": "YulLiteral", - "src": "317:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "320:1:13", - "nodeType": "YulLiteral", - "src": "320:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "310:6:13", - "nodeType": "YulIdentifier", - "src": "310:6:13" - }, - "nativeSrc": "310:12:13", - "nodeType": "YulFunctionCall", - "src": "310:12:13" - }, - "nativeSrc": "310:12:13", - "nodeType": "YulExpressionStatement", - "src": "310:12:13" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "211:117:13", - "nodeType": "YulFunctionDefinition", - "src": "211:117:13" - }, - { - "body": { - "nativeSrc": "379:81:13", - "nodeType": "YulBlock", - "src": "379:81:13", - "statements": [ - { - "nativeSrc": "389:65:13", - "nodeType": "YulAssignment", - "src": "389:65:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "404:5:13", - "nodeType": "YulIdentifier", - "src": "404:5:13" - }, - { - "kind": "number", - "nativeSrc": "411:42:13", - "nodeType": "YulLiteral", - "src": "411:42:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "400:3:13", - "nodeType": "YulIdentifier", - "src": "400:3:13" - }, - "nativeSrc": "400:54:13", - "nodeType": "YulFunctionCall", - "src": "400:54:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "389:7:13", - "nodeType": "YulIdentifier", - "src": "389:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nativeSrc": "334:126:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "361:5:13", - "nodeType": "YulTypedName", - "src": "361:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "371:7:13", - "nodeType": "YulTypedName", - "src": "371:7:13", - "type": "" - } - ], - "src": "334:126:13" - }, - { - "body": { - "nativeSrc": "511:51:13", - "nodeType": "YulBlock", - "src": "511:51:13", - "statements": [ - { - "nativeSrc": "521:35:13", - "nodeType": "YulAssignment", - "src": "521:35:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "550:5:13", - "nodeType": "YulIdentifier", - "src": "550:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nativeSrc": "532:17:13", - "nodeType": "YulIdentifier", - "src": "532:17:13" - }, - "nativeSrc": "532:24:13", - "nodeType": "YulFunctionCall", - "src": "532:24:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "521:7:13", - "nodeType": "YulIdentifier", - "src": "521:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_address", - "nativeSrc": "466:96:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "493:5:13", - "nodeType": "YulTypedName", - "src": "493:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "503:7:13", - "nodeType": "YulTypedName", - "src": "503:7:13", - "type": "" - } - ], - "src": "466:96:13" - }, - { - "body": { - "nativeSrc": "626:51:13", - "nodeType": "YulBlock", - "src": "626:51:13", - "statements": [ - { - "nativeSrc": "636:35:13", - "nodeType": "YulAssignment", - "src": "636:35:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "665:5:13", - "nodeType": "YulIdentifier", - "src": "665:5:13" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nativeSrc": "647:17:13", - "nodeType": "YulIdentifier", - "src": "647:17:13" - }, - "nativeSrc": "647:24:13", - "nodeType": "YulFunctionCall", - "src": "647:24:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "636:7:13", - "nodeType": "YulIdentifier", - "src": "636:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_contract$_IEAS_$1964", - "nativeSrc": "568:109:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "608:5:13", - "nodeType": "YulTypedName", - "src": "608:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "618:7:13", - "nodeType": "YulTypedName", - "src": "618:7:13", - "type": "" - } - ], - "src": "568:109:13" - }, - { - "body": { - "nativeSrc": "739:92:13", - "nodeType": "YulBlock", - "src": "739:92:13", - "statements": [ - { - "body": { - "nativeSrc": "809:16:13", - "nodeType": "YulBlock", - "src": "809:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "818:1:13", - "nodeType": "YulLiteral", - "src": "818:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "821:1:13", - "nodeType": "YulLiteral", - "src": "821:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "811:6:13", - "nodeType": "YulIdentifier", - "src": "811:6:13" - }, - "nativeSrc": "811:12:13", - "nodeType": "YulFunctionCall", - "src": "811:12:13" - }, - "nativeSrc": "811:12:13", - "nodeType": "YulExpressionStatement", - "src": "811:12:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "762:5:13", - "nodeType": "YulIdentifier", - "src": "762:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "800:5:13", - "nodeType": "YulIdentifier", - "src": "800:5:13" - } - ], - "functionName": { - "name": "cleanup_t_contract$_IEAS_$1964", - "nativeSrc": "769:30:13", - "nodeType": "YulIdentifier", - "src": "769:30:13" - }, - "nativeSrc": "769:37:13", - "nodeType": "YulFunctionCall", - "src": "769:37:13" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "759:2:13", - "nodeType": "YulIdentifier", - "src": "759:2:13" - }, - "nativeSrc": "759:48:13", - "nodeType": "YulFunctionCall", - "src": "759:48:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "752:6:13", - "nodeType": "YulIdentifier", - "src": "752:6:13" - }, - "nativeSrc": "752:56:13", - "nodeType": "YulFunctionCall", - "src": "752:56:13" - }, - "nativeSrc": "749:76:13", - "nodeType": "YulIf", - "src": "749:76:13" - } - ] - }, - "name": "validator_revert_t_contract$_IEAS_$1964", - "nativeSrc": "683:148:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "732:5:13", - "nodeType": "YulTypedName", - "src": "732:5:13", - "type": "" - } - ], - "src": "683:148:13" - }, - { - "body": { - "nativeSrc": "913:93:13", - "nodeType": "YulBlock", - "src": "913:93:13", - "statements": [ - { - "nativeSrc": "923:22:13", - "nodeType": "YulAssignment", - "src": "923:22:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "938:6:13", - "nodeType": "YulIdentifier", - "src": "938:6:13" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "932:5:13", - "nodeType": "YulIdentifier", - "src": "932:5:13" - }, - "nativeSrc": "932:13:13", - "nodeType": "YulFunctionCall", - "src": "932:13:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "923:5:13", - "nodeType": "YulIdentifier", - "src": "923:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nativeSrc": "994:5:13", - "nodeType": "YulIdentifier", - "src": "994:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_contract$_IEAS_$1964", - "nativeSrc": "954:39:13", - "nodeType": "YulIdentifier", - "src": "954:39:13" - }, - "nativeSrc": "954:46:13", - "nodeType": "YulFunctionCall", - "src": "954:46:13" - }, - "nativeSrc": "954:46:13", - "nodeType": "YulExpressionStatement", - "src": "954:46:13" - } - ] - }, - "name": "abi_decode_t_contract$_IEAS_$1964_fromMemory", - "nativeSrc": "837:169:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "891:6:13", - "nodeType": "YulTypedName", - "src": "891:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "899:3:13", - "nodeType": "YulTypedName", - "src": "899:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "907:5:13", - "nodeType": "YulTypedName", - "src": "907:5:13", - "type": "" - } - ], - "src": "837:169:13" - }, - { - "body": { - "nativeSrc": "1102:287:13", - "nodeType": "YulBlock", - "src": "1102:287:13", - "statements": [ - { - "body": { - "nativeSrc": "1148:83:13", - "nodeType": "YulBlock", - "src": "1148:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "1150:77:13", - "nodeType": "YulIdentifier", - "src": "1150:77:13" - }, - "nativeSrc": "1150:79:13", - "nodeType": "YulFunctionCall", - "src": "1150:79:13" - }, - "nativeSrc": "1150:79:13", - "nodeType": "YulExpressionStatement", - "src": "1150:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "1123:7:13", - "nodeType": "YulIdentifier", - "src": "1123:7:13" - }, - { - "name": "headStart", - "nativeSrc": "1132:9:13", - "nodeType": "YulIdentifier", - "src": "1132:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "1119:3:13", - "nodeType": "YulIdentifier", - "src": "1119:3:13" - }, - "nativeSrc": "1119:23:13", - "nodeType": "YulFunctionCall", - "src": "1119:23:13" - }, - { - "kind": "number", - "nativeSrc": "1144:2:13", - "nodeType": "YulLiteral", - "src": "1144:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "1115:3:13", - "nodeType": "YulIdentifier", - "src": "1115:3:13" - }, - "nativeSrc": "1115:32:13", - "nodeType": "YulFunctionCall", - "src": "1115:32:13" - }, - "nativeSrc": "1112:119:13", - "nodeType": "YulIf", - "src": "1112:119:13" - }, - { - "nativeSrc": "1241:141:13", - "nodeType": "YulBlock", - "src": "1241:141:13", - "statements": [ - { - "nativeSrc": "1256:15:13", - "nodeType": "YulVariableDeclaration", - "src": "1256:15:13", - "value": { - "kind": "number", - "nativeSrc": "1270:1:13", - "nodeType": "YulLiteral", - "src": "1270:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "1260:6:13", - "nodeType": "YulTypedName", - "src": "1260:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "1285:87:13", - "nodeType": "YulAssignment", - "src": "1285:87:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1344:9:13", - "nodeType": "YulIdentifier", - "src": "1344:9:13" - }, - { - "name": "offset", - "nativeSrc": "1355:6:13", - "nodeType": "YulIdentifier", - "src": "1355:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1340:3:13", - "nodeType": "YulIdentifier", - "src": "1340:3:13" - }, - "nativeSrc": "1340:22:13", - "nodeType": "YulFunctionCall", - "src": "1340:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "1364:7:13", - "nodeType": "YulIdentifier", - "src": "1364:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_contract$_IEAS_$1964_fromMemory", - "nativeSrc": "1295:44:13", - "nodeType": "YulIdentifier", - "src": "1295:44:13" - }, - "nativeSrc": "1295:77:13", - "nodeType": "YulFunctionCall", - "src": "1295:77:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "1285:6:13", - "nodeType": "YulIdentifier", - "src": "1285:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_contract$_IEAS_$1964_fromMemory", - "nativeSrc": "1012:377:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "1072:9:13", - "nodeType": "YulTypedName", - "src": "1072:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "1083:7:13", - "nodeType": "YulTypedName", - "src": "1083:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "1095:6:13", - "nodeType": "YulTypedName", - "src": "1095:6:13", - "type": "" - } - ], - "src": "1012:377:13" - } - ] - }, - "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 cleanup_t_contract$_IEAS_$1964(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_IEAS_$1964(value) {\n if iszero(eq(value, cleanup_t_contract$_IEAS_$1964(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_IEAS_$1964_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_IEAS_$1964(value)\n }\n\n function abi_decode_tuple_t_contract$_IEAS_$1964_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_contract$_IEAS_$1964_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", - "id": 13, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "610100604052348015610010575f80fd5b5060405161116138038061116183398181016040528101906100329190610162565b80600160035f82608081815250508160a081815250508060c081815250505050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100b8576040517f83780ffe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050505061018d565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610120826100f7565b9050919050565b5f61013182610116565b9050919050565b61014181610127565b811461014b575f80fd5b50565b5f8151905061015c81610138565b92915050565b5f60208284031215610177576101766100f3565b5b5f6101848482850161014e565b91505092915050565b60805160a05160c05160e051610fa16101c05f395f61058601525f61021201525f6101e901525f6101c00152610fa15ff3fe608060405260043610610058575f3560e01c806354fd4d50146100a157806388e5b2d9146100cb57806391db0b7e146100fb578063ce46e0461461012b578063e49617e114610155578063e60c3505146101855761009d565b3661009d576100656101b5565b61009b576040517f1574f9f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b3480156100ac575f80fd5b506100b56101b9565b6040516100c29190610a5f565b60405180910390f35b6100e560048036038101906100e09190610b3d565b61025c565b6040516100f29190610bd5565b60405180910390f35b61011560048036038101906101109190610b3d565b610371565b6040516101229190610bd5565b60405180910390f35b348015610136575f80fd5b5061013f6101b5565b60405161014c9190610bd5565b60405180910390f35b61016f600480360381019061016a9190610c11565b610486565b60405161017c9190610bd5565b60405180910390f35b61019f600480360381019061019a9190610c11565b6104a0565b6040516101ac9190610bd5565b60405180910390f35b5f90565b60606101e47f00000000000000000000000000000000000000000000000000000000000000006104ba565b61020d7f00000000000000000000000000000000000000000000000000000000000000006104ba565b6102367f00000000000000000000000000000000000000000000000000000000000000006104ba565b60405160200161024893929190610cdc565b604051602081830303815290604052905090565b5f610265610584565b5f8585905090508383905081146102a8576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610361575f8686838181106102ca576102c9610d22565b5b9050602002013590508281111561030d576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033b89898481811061032357610322610d22565b5b90506020028101906103359190610d5b565b8261060b565b61034b575f945050505050610369565b80830392505061035a81610616565b90506102ae565b506001925050505b949350505050565b5f61037a610584565b5f8585905090508383905081146103bd576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610476575f8686838181106103df576103de610d22565b5b90506020020135905082811115610422576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045089898481811061043857610437610d22565b5b905060200281019061044a9190610d5b565b82610622565b610460575f94505050505061047e565b80830392505061046f81610616565b90506103c3565b506001925050505b949350505050565b5f61048f610584565b610499823461060b565b9050919050565b5f6104a9610584565b6104b38234610622565b9050919050565b60605f60016104c88461082e565b0190505f8167ffffffffffffffff8111156104e6576104e5610d83565b5b6040519080825280601f01601f1916602001820160405280156105185781602001600182028036833780820191505090505b5090505f82602001820190505b600115610579578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161056e5761056d610db0565b5b0494505f8503610525575b819350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610609576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6001905092915050565b5f600182019050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168360c001602081019061064d9190610e37565b73ffffffffffffffffffffffffffffffffffffffff16036106715760019050610828565b5f8360c00160208101906106859190610e37565b73ffffffffffffffffffffffffffffffffffffffff163b036106a9575f9050610828565b5f610705848061012001906106be9190610e62565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061097f565b90508073ffffffffffffffffffffffffffffffffffffffff168460c00160208101906107319190610e37565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f915050610828565b5f8460c00160208101906107699190610e37565b90508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107d357506040513d601f19601f820116820180604052508101906107d09190610ed8565b60015b6107e1575f92505050610828565b8073ffffffffffffffffffffffffffffffffffffffff168660e001602081019061080b9190610e37565b73ffffffffffffffffffffffffffffffffffffffff161493505050505b92915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061088a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816108805761087f610db0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106108c7576d04ee2d6d415b85acef810000000083816108bd576108bc610db0565b5b0492506020810190505b662386f26fc1000083106108f657662386f26fc1000083816108ec576108eb610db0565b5b0492506010810190505b6305f5e100831061091f576305f5e100838161091557610914610db0565b5b0492506008810190505b612710831061094457612710838161093a57610939610db0565b5b0492506004810190505b60648310610967576064838161095d5761095c610db0565b5b0492506002810190505b600a8310610976576001810190505b80915050919050565b5f6020825110156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90610f4d565b60405180910390fd5b5f6020830151905073ffffffffffffffffffffffffffffffffffffffff8116905080915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610a31826109ef565b610a3b81856109f9565b9350610a4b818560208601610a09565b610a5481610a17565b840191505092915050565b5f6020820190508181035f830152610a778184610a27565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610aa857610aa7610a87565b5b8235905067ffffffffffffffff811115610ac557610ac4610a8b565b5b602083019150836020820283011115610ae157610ae0610a8f565b5b9250929050565b5f8083601f840112610afd57610afc610a87565b5b8235905067ffffffffffffffff811115610b1a57610b19610a8b565b5b602083019150836020820283011115610b3657610b35610a8f565b5b9250929050565b5f805f8060408587031215610b5557610b54610a7f565b5b5f85013567ffffffffffffffff811115610b7257610b71610a83565b5b610b7e87828801610a93565b9450945050602085013567ffffffffffffffff811115610ba157610ba0610a83565b5b610bad87828801610ae8565b925092505092959194509250565b5f8115159050919050565b610bcf81610bbb565b82525050565b5f602082019050610be85f830184610bc6565b92915050565b5f80fd5b5f6101408284031215610c0857610c07610bee565b5b81905092915050565b5f60208284031215610c2657610c25610a7f565b5b5f82013567ffffffffffffffff811115610c4357610c42610a83565b5b610c4f84828501610bf2565b91505092915050565b5f81905092915050565b5f610c6c826109ef565b610c768185610c58565b9350610c86818560208601610a09565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610cc6600183610c58565b9150610cd182610c92565b600182019050919050565b5f610ce78286610c62565b9150610cf282610cba565b9150610cfe8285610c62565b9150610d0982610cba565b9150610d158284610c62565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f8235600161014003833603038112610d7757610d76610d4f565b5b80830191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0682610ddd565b9050919050565b610e1681610dfc565b8114610e20575f80fd5b50565b5f81359050610e3181610e0d565b92915050565b5f60208284031215610e4c57610e4b610a7f565b5b5f610e5984828501610e23565b91505092915050565b5f8083356001602003843603038112610e7e57610e7d610d4f565b5b80840192508235915067ffffffffffffffff821115610ea057610e9f610d53565b5b602083019250600182023603831315610ebc57610ebb610d57565b5b509250929050565b5f81519050610ed281610e0d565b92915050565b5f60208284031215610eed57610eec610a7f565b5b5f610efa84828501610ec4565b91505092915050565b7f4461746120746f6f2073686f72740000000000000000000000000000000000005f82015250565b5f610f37600e836109f9565b9150610f4282610f03565b602082019050919050565b5f6020820190508181035f830152610f6481610f2b565b905091905056fea2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", - "opcodes": "PUSH2 0x100 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1161 CODESIZE SUB DUP1 PUSH2 0x1161 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x162 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x3 PUSH0 DUP3 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP2 PUSH1 0xA0 DUP2 DUP2 MSTORE POP POP DUP1 PUSH1 0xC0 DUP2 DUP2 MSTORE POP POP POP POP POP PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x83780FFE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xE0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP POP PUSH2 0x18D JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x120 DUP3 PUSH2 0xF7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x131 DUP3 PUSH2 0x116 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x141 DUP2 PUSH2 0x127 JUMP JUMPDEST DUP2 EQ PUSH2 0x14B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x15C DUP2 PUSH2 0x138 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x177 JUMPI PUSH2 0x176 PUSH2 0xF3 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x184 DUP5 DUP3 DUP6 ADD PUSH2 0x14E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH2 0xFA1 PUSH2 0x1C0 PUSH0 CODECOPY PUSH0 PUSH2 0x586 ADD MSTORE PUSH0 PUSH2 0x212 ADD MSTORE PUSH0 PUSH2 0x1E9 ADD MSTORE PUSH0 PUSH2 0x1C0 ADD MSTORE PUSH2 0xFA1 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x58 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x88E5B2D9 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x91DB0B7E EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xCE46E046 EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0xE49617E1 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0xE60C3505 EQ PUSH2 0x185 JUMPI PUSH2 0x9D JUMP JUMPDEST CALLDATASIZE PUSH2 0x9D JUMPI PUSH2 0x65 PUSH2 0x1B5 JUMP JUMPDEST PUSH2 0x9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x1574F9F300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xA5F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0xB3D JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0xBD5 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 0xB3D JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x13F PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x486 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1E4 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x20D PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x236 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH2 0x265 PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x361 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x2CA JUMPI PUSH2 0x2C9 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x33B DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x335 SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x60B JUMP JUMPDEST PUSH2 0x34B JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x369 JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x35A DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x37A PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x3BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x3DF JUMPI PUSH2 0x3DE PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x422 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x450 DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x438 JUMPI PUSH2 0x437 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x44A SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x460 JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x47E JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x46F DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x3C3 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48F PUSH2 0x584 JUMP JUMPDEST PUSH2 0x499 DUP3 CALLVALUE PUSH2 0x60B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x4A9 PUSH2 0x584 JUMP JUMPDEST PUSH2 0x4B3 DUP3 CALLVALUE PUSH2 0x622 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0x4C8 DUP5 PUSH2 0x82E JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E6 JUMPI PUSH2 0x4E5 PUSH2 0xD83 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x579 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x525 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4CA8886700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x671 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x685 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0x6A9 JUMPI PUSH0 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 PUSH2 0x705 DUP5 DUP1 PUSH2 0x120 ADD SWAP1 PUSH2 0x6BE SWAP2 SWAP1 PUSH2 0xE62 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 PUSH0 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 PUSH2 0x97F JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x731 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x755 JUMPI PUSH0 SWAP2 POP POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x769 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x7D3 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x7E1 JUMPI PUSH0 SWAP3 POP POP POP PUSH2 0x828 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH1 0xE0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x80B SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x88A JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x880 JUMPI PUSH2 0x87F PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x8C7 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x8BD JUMPI PUSH2 0x8BC PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x8F6 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x8EC JUMPI PUSH2 0x8EB PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x91F JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x915 JUMPI PUSH2 0x914 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x944 JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x967 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x95D JUMPI PUSH2 0x95C PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x976 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 MLOAD LT ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BC SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x20 DUP4 ADD MLOAD SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA31 DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xA3B DUP2 DUP6 PUSH2 0x9F9 JUMP JUMPDEST SWAP4 POP PUSH2 0xA4B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0xA17 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA77 DUP2 DUP5 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAA8 JUMPI PUSH2 0xAA7 PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAC5 JUMPI PUSH2 0xAC4 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAE1 JUMPI PUSH2 0xAE0 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAFD JUMPI PUSH2 0xAFC PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xB36 JUMPI PUSH2 0xB35 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB55 JUMPI PUSH2 0xB54 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB72 JUMPI PUSH2 0xB71 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xB7E DUP8 DUP3 DUP9 ADD PUSH2 0xA93 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xBAD DUP8 DUP3 DUP9 ADD PUSH2 0xAE8 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCF DUP2 PUSH2 0xBBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH0 DUP4 ADD DUP5 PUSH2 0xBC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH2 0x140 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC08 JUMPI PUSH2 0xC07 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC43 JUMPI PUSH2 0xC42 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xC4F DUP5 DUP3 DUP6 ADD PUSH2 0xBF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6C DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xC76 DUP2 DUP6 PUSH2 0xC58 JUMP JUMPDEST SWAP4 POP PUSH2 0xC86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xCC6 PUSH1 0x1 DUP4 PUSH2 0xC58 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD1 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCE7 DUP3 DUP7 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xCF2 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xCFE DUP3 DUP6 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xD09 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xD15 DUP3 DUP5 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH2 0x140 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD77 JUMPI PUSH2 0xD76 PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE06 DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE16 DUP2 PUSH2 0xDFC JUMP JUMPDEST DUP2 EQ PUSH2 0xE20 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE31 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4C JUMPI PUSH2 0xE4B PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE59 DUP5 DUP3 DUP6 ADD PUSH2 0xE23 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xE7E JUMPI PUSH2 0xE7D PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xD53 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xD57 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xED2 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEED JUMPI PUSH2 0xEEC PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEFA DUP5 DUP3 DUP6 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4461746120746F6F2073686F7274000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xF37 PUSH1 0xE DUP4 PUSH2 0x9F9 JUMP JUMPDEST SWAP2 POP PUSH2 0xF42 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF64 DUP2 PUSH2 0xF2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE SWAP12 0xB2 0xC6 SWAP2 0xEB PUSH11 0x4020C67F4FBBD742291EF MUL TLOAD 0xD4 0xD0 SWAP11 SWAP5 GAS 0x4D NOT INVALID SELFDESTRUCT RETURNDATACOPY 0x4E PUSH3 0x64736F PUSH13 0x634300081A0033000000000000 ", - "sourceMap": "344:2067:12:-:0;;;400:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;437:3;676:1:10;679;682;768:5:11;759:14;;;;;;792:5;783:14;;;;;;816:5;807:14;;;;;;692:136;;;723:1:10::1;699:26;;707:3;699:26;;::::0;695:76:::1;;748:12;;;;;;;;;;;;;;695:76;788:3;781:10;;;;;;;;::::0;::::1;647:151:::0;400:44:12;344:2067;;88:117:13;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:109::-;618:7;647:24;665:5;647:24;:::i;:::-;636:35;;568:109;;;:::o;683:148::-;769:37;800:5;769:37;:::i;:::-;762:5;759:48;749:76;;821:1;818;811:12;749:76;683:148;:::o;837:169::-;907:5;938:6;932:13;923:22;;954:46;994:5;954:46;:::i;:::-;837:169;;;;:::o;1012:377::-;1095:6;1144:2;1132:9;1123:7;1119:23;1115:32;1112:119;;;1150:79;;:::i;:::-;1112:119;1270:1;1295:77;1364:7;1355:6;1344:9;1340:22;1295:77;:::i;:::-;1285:87;;1241:141;1012:377;;;;:::o;344:2067:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_2174": { - "entryPoint": null, - "id": 2174, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_onlyEAS_2413": { - "entryPoint": 1412, - "id": 2413, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@attest_2192": { - "entryPoint": 1184, - "id": 2192, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@extractAddressFromData_2598": { - "entryPoint": 2431, - "id": 2598, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@isPayable_2161": { - "entryPoint": 437, - "id": 2161, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@log10_1306": { - "entryPoint": 2094, - "id": 1306, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@multiAttest_2274": { - "entryPoint": 881, - "id": 2274, - "parameterSlots": 4, - "returnSlots": 1 - }, - "@multiRevoke_2374": { - "entryPoint": 604, - "id": 2374, - "parameterSlots": 4, - "returnSlots": 1 - }, - "@onAttest_2576": { - "entryPoint": 1570, - "id": 2576, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@onRevoke_2612": { - "entryPoint": 1547, - "id": 2612, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@revoke_2292": { - "entryPoint": 1158, - "id": 2292, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@toString_245": { - "entryPoint": 1210, - "id": 245, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@uncheckedInc_1657": { - "entryPoint": 1558, - "id": 1657, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@version_2480": { - "entryPoint": 441, - "id": 2480, - "parameterSlots": 0, - "returnSlots": 1 - }, - "abi_decode_t_address": { - "entryPoint": 3619, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_t_address_fromMemory": { - "entryPoint": 3780, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr": { - "entryPoint": 2707, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr": { - "entryPoint": 2792, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_t_struct$_Attestation_$1641_calldata_ptr": { - "entryPoint": 3058, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 3639, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address_fromMemory": { - "entryPoint": 3800, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr": { - "entryPoint": 2877, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr": { - "entryPoint": 3089, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_bool_to_t_bool_fromStack": { - "entryPoint": 3014, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { - "entryPoint": 2599, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 3170, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 3258, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack": { - "entryPoint": 3883, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 3292, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": 3029, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 2655, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 3917, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "access_calldata_tail_t_bytes_calldata_ptr": { - "entryPoint": 3682, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "access_calldata_tail_t_struct$_Attestation_$1641_calldata_ptr": { - "entryPoint": 3419, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "allocate_unbounded": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 1 - }, - "array_length_t_string_memory_ptr": { - "entryPoint": 2543, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { - "entryPoint": 2553, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 3160, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "cleanup_t_address": { - "entryPoint": 3580, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "cleanup_t_bool": { - "entryPoint": 3003, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "cleanup_t_uint160": { - "entryPoint": 3549, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "copy_memory_to_memory_with_cleanup": { - "entryPoint": 2569, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "panic_error_0x12": { - "entryPoint": 3504, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x32": { - "entryPoint": 3362, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 3459, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { - "entryPoint": 2699, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { - "entryPoint": 2695, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a": { - "entryPoint": 3411, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d": { - "entryPoint": 3054, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad": { - "entryPoint": 3407, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { - "entryPoint": 2703, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e": { - "entryPoint": 3415, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { - "entryPoint": 2691, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 2687, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "round_up_to_mul_of_32": { - "entryPoint": 2583, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf": { - "entryPoint": 3218, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94": { - "entryPoint": 3843, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "validator_revert_t_address": { - "entryPoint": 3597, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nativeSrc": "0:12159:13", - "nodeType": "YulBlock", - "src": "0:12159:13", - "statements": [ - { - "body": { - "nativeSrc": "66:40:13", - "nodeType": "YulBlock", - "src": "66:40:13", - "statements": [ - { - "nativeSrc": "77:22:13", - "nodeType": "YulAssignment", - "src": "77:22:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "93:5:13", - "nodeType": "YulIdentifier", - "src": "93:5:13" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "87:5:13", - "nodeType": "YulIdentifier", - "src": "87:5:13" - }, - "nativeSrc": "87:12:13", - "nodeType": "YulFunctionCall", - "src": "87:12:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "77:6:13", - "nodeType": "YulIdentifier", - "src": "77:6:13" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "7:99:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "49:5:13", - "nodeType": "YulTypedName", - "src": "49:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "59:6:13", - "nodeType": "YulTypedName", - "src": "59:6:13", - "type": "" - } - ], - "src": "7:99:13" - }, - { - "body": { - "nativeSrc": "208:73:13", - "nodeType": "YulBlock", - "src": "208:73:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "225:3:13", - "nodeType": "YulIdentifier", - "src": "225:3:13" - }, - { - "name": "length", - "nativeSrc": "230:6:13", - "nodeType": "YulIdentifier", - "src": "230:6:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "218:6:13", - "nodeType": "YulIdentifier", - "src": "218:6:13" - }, - "nativeSrc": "218:19:13", - "nodeType": "YulFunctionCall", - "src": "218:19:13" - }, - "nativeSrc": "218:19:13", - "nodeType": "YulExpressionStatement", - "src": "218:19:13" - }, - { - "nativeSrc": "246:29:13", - "nodeType": "YulAssignment", - "src": "246:29:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "265:3:13", - "nodeType": "YulIdentifier", - "src": "265:3:13" - }, - { - "kind": "number", - "nativeSrc": "270:4:13", - "nodeType": "YulLiteral", - "src": "270:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "261:3:13", - "nodeType": "YulIdentifier", - "src": "261:3:13" - }, - "nativeSrc": "261:14:13", - "nodeType": "YulFunctionCall", - "src": "261:14:13" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "246:11:13", - "nodeType": "YulIdentifier", - "src": "246:11:13" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "112:169:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "180:3:13", - "nodeType": "YulTypedName", - "src": "180:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "185:6:13", - "nodeType": "YulTypedName", - "src": "185:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "196:11:13", - "nodeType": "YulTypedName", - "src": "196:11:13", - "type": "" - } - ], - "src": "112:169:13" - }, - { - "body": { - "nativeSrc": "349:77:13", - "nodeType": "YulBlock", - "src": "349:77:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nativeSrc": "366:3:13", - "nodeType": "YulIdentifier", - "src": "366:3:13" - }, - { - "name": "src", - "nativeSrc": "371:3:13", - "nodeType": "YulIdentifier", - "src": "371:3:13" - }, - { - "name": "length", - "nativeSrc": "376:6:13", - "nodeType": "YulIdentifier", - "src": "376:6:13" - } - ], - "functionName": { - "name": "mcopy", - "nativeSrc": "360:5:13", - "nodeType": "YulIdentifier", - "src": "360:5:13" - }, - "nativeSrc": "360:23:13", - "nodeType": "YulFunctionCall", - "src": "360:23:13" - }, - "nativeSrc": "360:23:13", - "nodeType": "YulExpressionStatement", - "src": "360:23:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nativeSrc": "403:3:13", - "nodeType": "YulIdentifier", - "src": "403:3:13" - }, - { - "name": "length", - "nativeSrc": "408:6:13", - "nodeType": "YulIdentifier", - "src": "408:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "399:3:13", - "nodeType": "YulIdentifier", - "src": "399:3:13" - }, - "nativeSrc": "399:16:13", - "nodeType": "YulFunctionCall", - "src": "399:16:13" - }, - { - "kind": "number", - "nativeSrc": "417:1:13", - "nodeType": "YulLiteral", - "src": "417:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "392:6:13", - "nodeType": "YulIdentifier", - "src": "392:6:13" - }, - "nativeSrc": "392:27:13", - "nodeType": "YulFunctionCall", - "src": "392:27:13" - }, - "nativeSrc": "392:27:13", - "nodeType": "YulExpressionStatement", - "src": "392:27:13" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "287:139:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nativeSrc": "331:3:13", - "nodeType": "YulTypedName", - "src": "331:3:13", - "type": "" - }, - { - "name": "dst", - "nativeSrc": "336:3:13", - "nodeType": "YulTypedName", - "src": "336:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "341:6:13", - "nodeType": "YulTypedName", - "src": "341:6:13", - "type": "" - } - ], - "src": "287:139:13" - }, - { - "body": { - "nativeSrc": "480:54:13", - "nodeType": "YulBlock", - "src": "480:54:13", - "statements": [ - { - "nativeSrc": "490:38:13", - "nodeType": "YulAssignment", - "src": "490:38:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "508:5:13", - "nodeType": "YulIdentifier", - "src": "508:5:13" - }, - { - "kind": "number", - "nativeSrc": "515:2:13", - "nodeType": "YulLiteral", - "src": "515:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "504:3:13", - "nodeType": "YulIdentifier", - "src": "504:3:13" - }, - "nativeSrc": "504:14:13", - "nodeType": "YulFunctionCall", - "src": "504:14:13" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "524:2:13", - "nodeType": "YulLiteral", - "src": "524:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "520:3:13", - "nodeType": "YulIdentifier", - "src": "520:3:13" - }, - "nativeSrc": "520:7:13", - "nodeType": "YulFunctionCall", - "src": "520:7:13" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "500:3:13", - "nodeType": "YulIdentifier", - "src": "500:3:13" - }, - "nativeSrc": "500:28:13", - "nodeType": "YulFunctionCall", - "src": "500:28:13" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "490:6:13", - "nodeType": "YulIdentifier", - "src": "490:6:13" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nativeSrc": "432:102:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "463:5:13", - "nodeType": "YulTypedName", - "src": "463:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "473:6:13", - "nodeType": "YulTypedName", - "src": "473:6:13", - "type": "" - } - ], - "src": "432:102:13" - }, - { - "body": { - "nativeSrc": "632:285:13", - "nodeType": "YulBlock", - "src": "632:285:13", - "statements": [ - { - "nativeSrc": "642:53:13", - "nodeType": "YulVariableDeclaration", - "src": "642:53:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "689:5:13", - "nodeType": "YulIdentifier", - "src": "689:5:13" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "656:32:13", - "nodeType": "YulIdentifier", - "src": "656:32:13" - }, - "nativeSrc": "656:39:13", - "nodeType": "YulFunctionCall", - "src": "656:39:13" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "646:6:13", - "nodeType": "YulTypedName", - "src": "646:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "704:78:13", - "nodeType": "YulAssignment", - "src": "704:78:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "770:3:13", - "nodeType": "YulIdentifier", - "src": "770:3:13" - }, - { - "name": "length", - "nativeSrc": "775:6:13", - "nodeType": "YulIdentifier", - "src": "775:6:13" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "711:58:13", - "nodeType": "YulIdentifier", - "src": "711:58:13" - }, - "nativeSrc": "711:71:13", - "nodeType": "YulFunctionCall", - "src": "711:71:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "704:3:13", - "nodeType": "YulIdentifier", - "src": "704:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "830:5:13", - "nodeType": "YulIdentifier", - "src": "830:5:13" - }, - { - "kind": "number", - "nativeSrc": "837:4:13", - "nodeType": "YulLiteral", - "src": "837:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "826:3:13", - "nodeType": "YulIdentifier", - "src": "826:3:13" - }, - "nativeSrc": "826:16:13", - "nodeType": "YulFunctionCall", - "src": "826:16:13" - }, - { - "name": "pos", - "nativeSrc": "844:3:13", - "nodeType": "YulIdentifier", - "src": "844:3:13" - }, - { - "name": "length", - "nativeSrc": "849:6:13", - "nodeType": "YulIdentifier", - "src": "849:6:13" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "791:34:13", - "nodeType": "YulIdentifier", - "src": "791:34:13" - }, - "nativeSrc": "791:65:13", - "nodeType": "YulFunctionCall", - "src": "791:65:13" - }, - "nativeSrc": "791:65:13", - "nodeType": "YulExpressionStatement", - "src": "791:65:13" - }, - { - "nativeSrc": "865:46:13", - "nodeType": "YulAssignment", - "src": "865:46:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "876:3:13", - "nodeType": "YulIdentifier", - "src": "876:3:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "903:6:13", - "nodeType": "YulIdentifier", - "src": "903:6:13" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nativeSrc": "881:21:13", - "nodeType": "YulIdentifier", - "src": "881:21:13" - }, - "nativeSrc": "881:29:13", - "nodeType": "YulFunctionCall", - "src": "881:29:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "872:3:13", - "nodeType": "YulIdentifier", - "src": "872:3:13" - }, - "nativeSrc": "872:39:13", - "nodeType": "YulFunctionCall", - "src": "872:39:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "865:3:13", - "nodeType": "YulIdentifier", - "src": "865:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nativeSrc": "540:377:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "613:5:13", - "nodeType": "YulTypedName", - "src": "613:5:13", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "620:3:13", - "nodeType": "YulTypedName", - "src": "620:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "628:3:13", - "nodeType": "YulTypedName", - "src": "628:3:13", - "type": "" - } - ], - "src": "540:377:13" - }, - { - "body": { - "nativeSrc": "1041:195:13", - "nodeType": "YulBlock", - "src": "1041:195:13", - "statements": [ - { - "nativeSrc": "1051:26:13", - "nodeType": "YulAssignment", - "src": "1051:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1063:9:13", - "nodeType": "YulIdentifier", - "src": "1063:9:13" - }, - { - "kind": "number", - "nativeSrc": "1074:2:13", - "nodeType": "YulLiteral", - "src": "1074:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1059:3:13", - "nodeType": "YulIdentifier", - "src": "1059:3:13" - }, - "nativeSrc": "1059:18:13", - "nodeType": "YulFunctionCall", - "src": "1059:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "1051:4:13", - "nodeType": "YulIdentifier", - "src": "1051:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1098:9:13", - "nodeType": "YulIdentifier", - "src": "1098:9:13" - }, - { - "kind": "number", - "nativeSrc": "1109:1:13", - "nodeType": "YulLiteral", - "src": "1109:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1094:3:13", - "nodeType": "YulIdentifier", - "src": "1094:3:13" - }, - "nativeSrc": "1094:17:13", - "nodeType": "YulFunctionCall", - "src": "1094:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "1117:4:13", - "nodeType": "YulIdentifier", - "src": "1117:4:13" - }, - { - "name": "headStart", - "nativeSrc": "1123:9:13", - "nodeType": "YulIdentifier", - "src": "1123:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "1113:3:13", - "nodeType": "YulIdentifier", - "src": "1113:3:13" - }, - "nativeSrc": "1113:20:13", - "nodeType": "YulFunctionCall", - "src": "1113:20:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "1087:6:13", - "nodeType": "YulIdentifier", - "src": "1087:6:13" - }, - "nativeSrc": "1087:47:13", - "nodeType": "YulFunctionCall", - "src": "1087:47:13" - }, - "nativeSrc": "1087:47:13", - "nodeType": "YulExpressionStatement", - "src": "1087:47:13" - }, - { - "nativeSrc": "1143:86:13", - "nodeType": "YulAssignment", - "src": "1143:86:13", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "1215:6:13", - "nodeType": "YulIdentifier", - "src": "1215:6:13" - }, - { - "name": "tail", - "nativeSrc": "1224:4:13", - "nodeType": "YulIdentifier", - "src": "1224:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nativeSrc": "1151:63:13", - "nodeType": "YulIdentifier", - "src": "1151:63:13" - }, - "nativeSrc": "1151:78:13", - "nodeType": "YulFunctionCall", - "src": "1151:78:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "1143:4:13", - "nodeType": "YulIdentifier", - "src": "1143:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "923:313:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "1013:9:13", - "nodeType": "YulTypedName", - "src": "1013:9:13", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "1025:6:13", - "nodeType": "YulTypedName", - "src": "1025:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "1036:4:13", - "nodeType": "YulTypedName", - "src": "1036:4:13", - "type": "" - } - ], - "src": "923:313:13" - }, - { - "body": { - "nativeSrc": "1282:35:13", - "nodeType": "YulBlock", - "src": "1282:35:13", - "statements": [ - { - "nativeSrc": "1292:19:13", - "nodeType": "YulAssignment", - "src": "1292:19:13", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1308:2:13", - "nodeType": "YulLiteral", - "src": "1308:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "1302:5:13", - "nodeType": "YulIdentifier", - "src": "1302:5:13" - }, - "nativeSrc": "1302:9:13", - "nodeType": "YulFunctionCall", - "src": "1302:9:13" - }, - "variableNames": [ - { - "name": "memPtr", - "nativeSrc": "1292:6:13", - "nodeType": "YulIdentifier", - "src": "1292:6:13" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nativeSrc": "1242:75:13", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nativeSrc": "1275:6:13", - "nodeType": "YulTypedName", - "src": "1275:6:13", - "type": "" - } - ], - "src": "1242:75:13" - }, - { - "body": { - "nativeSrc": "1412:28:13", - "nodeType": "YulBlock", - "src": "1412:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1429:1:13", - "nodeType": "YulLiteral", - "src": "1429:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1432:1:13", - "nodeType": "YulLiteral", - "src": "1432:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1422:6:13", - "nodeType": "YulIdentifier", - "src": "1422:6:13" - }, - "nativeSrc": "1422:12:13", - "nodeType": "YulFunctionCall", - "src": "1422:12:13" - }, - "nativeSrc": "1422:12:13", - "nodeType": "YulExpressionStatement", - "src": "1422:12:13" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "1323:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1323:117:13" - }, - { - "body": { - "nativeSrc": "1535:28:13", - "nodeType": "YulBlock", - "src": "1535:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1552:1:13", - "nodeType": "YulLiteral", - "src": "1552:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1555:1:13", - "nodeType": "YulLiteral", - "src": "1555:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1545:6:13", - "nodeType": "YulIdentifier", - "src": "1545:6:13" - }, - "nativeSrc": "1545:12:13", - "nodeType": "YulFunctionCall", - "src": "1545:12:13" - }, - "nativeSrc": "1545:12:13", - "nodeType": "YulExpressionStatement", - "src": "1545:12:13" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "1446:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1446:117:13" - }, - { - "body": { - "nativeSrc": "1658:28:13", - "nodeType": "YulBlock", - "src": "1658:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1675:1:13", - "nodeType": "YulLiteral", - "src": "1675:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1678:1:13", - "nodeType": "YulLiteral", - "src": "1678:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1668:6:13", - "nodeType": "YulIdentifier", - "src": "1668:6:13" - }, - "nativeSrc": "1668:12:13", - "nodeType": "YulFunctionCall", - "src": "1668:12:13" - }, - "nativeSrc": "1668:12:13", - "nodeType": "YulExpressionStatement", - "src": "1668:12:13" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nativeSrc": "1569:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1569:117:13" - }, - { - "body": { - "nativeSrc": "1781:28:13", - "nodeType": "YulBlock", - "src": "1781:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1798:1:13", - "nodeType": "YulLiteral", - "src": "1798:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1801:1:13", - "nodeType": "YulLiteral", - "src": "1801:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1791:6:13", - "nodeType": "YulIdentifier", - "src": "1791:6:13" - }, - "nativeSrc": "1791:12:13", - "nodeType": "YulFunctionCall", - "src": "1791:12:13" - }, - "nativeSrc": "1791:12:13", - "nodeType": "YulExpressionStatement", - "src": "1791:12:13" - } - ] - }, - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nativeSrc": "1692:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1692:117:13" - }, - { - "body": { - "nativeSrc": "1904:28:13", - "nodeType": "YulBlock", - "src": "1904:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1921:1:13", - "nodeType": "YulLiteral", - "src": "1921:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1924:1:13", - "nodeType": "YulLiteral", - "src": "1924:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1914:6:13", - "nodeType": "YulIdentifier", - "src": "1914:6:13" - }, - "nativeSrc": "1914:12:13", - "nodeType": "YulFunctionCall", - "src": "1914:12:13" - }, - "nativeSrc": "1914:12:13", - "nodeType": "YulExpressionStatement", - "src": "1914:12:13" - } - ] - }, - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nativeSrc": "1815:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1815:117:13" - }, - { - "body": { - "nativeSrc": "2087:478:13", - "nodeType": "YulBlock", - "src": "2087:478:13", - "statements": [ - { - "body": { - "nativeSrc": "2136:83:13", - "nodeType": "YulBlock", - "src": "2136:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nativeSrc": "2138:77:13", - "nodeType": "YulIdentifier", - "src": "2138:77:13" - }, - "nativeSrc": "2138:79:13", - "nodeType": "YulFunctionCall", - "src": "2138:79:13" - }, - "nativeSrc": "2138:79:13", - "nodeType": "YulExpressionStatement", - "src": "2138:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2115:6:13", - "nodeType": "YulIdentifier", - "src": "2115:6:13" - }, - { - "kind": "number", - "nativeSrc": "2123:4:13", - "nodeType": "YulLiteral", - "src": "2123:4:13", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2111:3:13", - "nodeType": "YulIdentifier", - "src": "2111:3:13" - }, - "nativeSrc": "2111:17:13", - "nodeType": "YulFunctionCall", - "src": "2111:17:13" - }, - { - "name": "end", - "nativeSrc": "2130:3:13", - "nodeType": "YulIdentifier", - "src": "2130:3:13" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "2107:3:13", - "nodeType": "YulIdentifier", - "src": "2107:3:13" - }, - "nativeSrc": "2107:27:13", - "nodeType": "YulFunctionCall", - "src": "2107:27:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "2100:6:13", - "nodeType": "YulIdentifier", - "src": "2100:6:13" - }, - "nativeSrc": "2100:35:13", - "nodeType": "YulFunctionCall", - "src": "2100:35:13" - }, - "nativeSrc": "2097:122:13", - "nodeType": "YulIf", - "src": "2097:122:13" - }, - { - "nativeSrc": "2228:30:13", - "nodeType": "YulAssignment", - "src": "2228:30:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2251:6:13", - "nodeType": "YulIdentifier", - "src": "2251:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "2238:12:13", - "nodeType": "YulIdentifier", - "src": "2238:12:13" - }, - "nativeSrc": "2238:20:13", - "nodeType": "YulFunctionCall", - "src": "2238:20:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "2228:6:13", - "nodeType": "YulIdentifier", - "src": "2228:6:13" - } - ] - }, - { - "body": { - "nativeSrc": "2301:83:13", - "nodeType": "YulBlock", - "src": "2301:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nativeSrc": "2303:77:13", - "nodeType": "YulIdentifier", - "src": "2303:77:13" - }, - "nativeSrc": "2303:79:13", - "nodeType": "YulFunctionCall", - "src": "2303:79:13" - }, - "nativeSrc": "2303:79:13", - "nodeType": "YulExpressionStatement", - "src": "2303:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nativeSrc": "2273:6:13", - "nodeType": "YulIdentifier", - "src": "2273:6:13" - }, - { - "kind": "number", - "nativeSrc": "2281:18:13", - "nodeType": "YulLiteral", - "src": "2281:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "2270:2:13", - "nodeType": "YulIdentifier", - "src": "2270:2:13" - }, - "nativeSrc": "2270:30:13", - "nodeType": "YulFunctionCall", - "src": "2270:30:13" - }, - "nativeSrc": "2267:117:13", - "nodeType": "YulIf", - "src": "2267:117:13" - }, - { - "nativeSrc": "2393:29:13", - "nodeType": "YulAssignment", - "src": "2393:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2409:6:13", - "nodeType": "YulIdentifier", - "src": "2409:6:13" - }, - { - "kind": "number", - "nativeSrc": "2417:4:13", - "nodeType": "YulLiteral", - "src": "2417:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2405:3:13", - "nodeType": "YulIdentifier", - "src": "2405:3:13" - }, - "nativeSrc": "2405:17:13", - "nodeType": "YulFunctionCall", - "src": "2405:17:13" - }, - "variableNames": [ - { - "name": "arrayPos", - "nativeSrc": "2393:8:13", - "nodeType": "YulIdentifier", - "src": "2393:8:13" - } - ] - }, - { - "body": { - "nativeSrc": "2476:83:13", - "nodeType": "YulBlock", - "src": "2476:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nativeSrc": "2478:77:13", - "nodeType": "YulIdentifier", - "src": "2478:77:13" - }, - "nativeSrc": "2478:79:13", - "nodeType": "YulFunctionCall", - "src": "2478:79:13" - }, - "nativeSrc": "2478:79:13", - "nodeType": "YulExpressionStatement", - "src": "2478:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "arrayPos", - "nativeSrc": "2441:8:13", - "nodeType": "YulIdentifier", - "src": "2441:8:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "2455:6:13", - "nodeType": "YulIdentifier", - "src": "2455:6:13" - }, - { - "kind": "number", - "nativeSrc": "2463:4:13", - "nodeType": "YulLiteral", - "src": "2463:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "2451:3:13", - "nodeType": "YulIdentifier", - "src": "2451:3:13" - }, - "nativeSrc": "2451:17:13", - "nodeType": "YulFunctionCall", - "src": "2451:17:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2437:3:13", - "nodeType": "YulIdentifier", - "src": "2437:3:13" - }, - "nativeSrc": "2437:32:13", - "nodeType": "YulFunctionCall", - "src": "2437:32:13" - }, - { - "name": "end", - "nativeSrc": "2471:3:13", - "nodeType": "YulIdentifier", - "src": "2471:3:13" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "2434:2:13", - "nodeType": "YulIdentifier", - "src": "2434:2:13" - }, - "nativeSrc": "2434:41:13", - "nodeType": "YulFunctionCall", - "src": "2434:41:13" - }, - "nativeSrc": "2431:128:13", - "nodeType": "YulIf", - "src": "2431:128:13" - } - ] - }, - "name": "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "nativeSrc": "1966:599:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "2054:6:13", - "nodeType": "YulTypedName", - "src": "2054:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "2062:3:13", - "nodeType": "YulTypedName", - "src": "2062:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nativeSrc": "2070:8:13", - "nodeType": "YulTypedName", - "src": "2070:8:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "2080:6:13", - "nodeType": "YulTypedName", - "src": "2080:6:13", - "type": "" - } - ], - "src": "1966:599:13" - }, - { - "body": { - "nativeSrc": "2678:478:13", - "nodeType": "YulBlock", - "src": "2678:478:13", - "statements": [ - { - "body": { - "nativeSrc": "2727:83:13", - "nodeType": "YulBlock", - "src": "2727:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nativeSrc": "2729:77:13", - "nodeType": "YulIdentifier", - "src": "2729:77:13" - }, - "nativeSrc": "2729:79:13", - "nodeType": "YulFunctionCall", - "src": "2729:79:13" - }, - "nativeSrc": "2729:79:13", - "nodeType": "YulExpressionStatement", - "src": "2729:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2706:6:13", - "nodeType": "YulIdentifier", - "src": "2706:6:13" - }, - { - "kind": "number", - "nativeSrc": "2714:4:13", - "nodeType": "YulLiteral", - "src": "2714:4:13", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2702:3:13", - "nodeType": "YulIdentifier", - "src": "2702:3:13" - }, - "nativeSrc": "2702:17:13", - "nodeType": "YulFunctionCall", - "src": "2702:17:13" - }, - { - "name": "end", - "nativeSrc": "2721:3:13", - "nodeType": "YulIdentifier", - "src": "2721:3:13" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "2698:3:13", - "nodeType": "YulIdentifier", - "src": "2698:3:13" - }, - "nativeSrc": "2698:27:13", - "nodeType": "YulFunctionCall", - "src": "2698:27:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "2691:6:13", - "nodeType": "YulIdentifier", - "src": "2691:6:13" - }, - "nativeSrc": "2691:35:13", - "nodeType": "YulFunctionCall", - "src": "2691:35:13" - }, - "nativeSrc": "2688:122:13", - "nodeType": "YulIf", - "src": "2688:122:13" - }, - { - "nativeSrc": "2819:30:13", - "nodeType": "YulAssignment", - "src": "2819:30:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2842:6:13", - "nodeType": "YulIdentifier", - "src": "2842:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "2829:12:13", - "nodeType": "YulIdentifier", - "src": "2829:12:13" - }, - "nativeSrc": "2829:20:13", - "nodeType": "YulFunctionCall", - "src": "2829:20:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "2819:6:13", - "nodeType": "YulIdentifier", - "src": "2819:6:13" - } - ] - }, - { - "body": { - "nativeSrc": "2892:83:13", - "nodeType": "YulBlock", - "src": "2892:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nativeSrc": "2894:77:13", - "nodeType": "YulIdentifier", - "src": "2894:77:13" - }, - "nativeSrc": "2894:79:13", - "nodeType": "YulFunctionCall", - "src": "2894:79:13" - }, - "nativeSrc": "2894:79:13", - "nodeType": "YulExpressionStatement", - "src": "2894:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nativeSrc": "2864:6:13", - "nodeType": "YulIdentifier", - "src": "2864:6:13" - }, - { - "kind": "number", - "nativeSrc": "2872:18:13", - "nodeType": "YulLiteral", - "src": "2872:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "2861:2:13", - "nodeType": "YulIdentifier", - "src": "2861:2:13" - }, - "nativeSrc": "2861:30:13", - "nodeType": "YulFunctionCall", - "src": "2861:30:13" - }, - "nativeSrc": "2858:117:13", - "nodeType": "YulIf", - "src": "2858:117:13" - }, - { - "nativeSrc": "2984:29:13", - "nodeType": "YulAssignment", - "src": "2984:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "3000:6:13", - "nodeType": "YulIdentifier", - "src": "3000:6:13" - }, - { - "kind": "number", - "nativeSrc": "3008:4:13", - "nodeType": "YulLiteral", - "src": "3008:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2996:3:13", - "nodeType": "YulIdentifier", - "src": "2996:3:13" - }, - "nativeSrc": "2996:17:13", - "nodeType": "YulFunctionCall", - "src": "2996:17:13" - }, - "variableNames": [ - { - "name": "arrayPos", - "nativeSrc": "2984:8:13", - "nodeType": "YulIdentifier", - "src": "2984:8:13" - } - ] - }, - { - "body": { - "nativeSrc": "3067:83:13", - "nodeType": "YulBlock", - "src": "3067:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nativeSrc": "3069:77:13", - "nodeType": "YulIdentifier", - "src": "3069:77:13" - }, - "nativeSrc": "3069:79:13", - "nodeType": "YulFunctionCall", - "src": "3069:79:13" - }, - "nativeSrc": "3069:79:13", - "nodeType": "YulExpressionStatement", - "src": "3069:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "arrayPos", - "nativeSrc": "3032:8:13", - "nodeType": "YulIdentifier", - "src": "3032:8:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "3046:6:13", - "nodeType": "YulIdentifier", - "src": "3046:6:13" - }, - { - "kind": "number", - "nativeSrc": "3054:4:13", - "nodeType": "YulLiteral", - "src": "3054:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "3042:3:13", - "nodeType": "YulIdentifier", - "src": "3042:3:13" - }, - "nativeSrc": "3042:17:13", - "nodeType": "YulFunctionCall", - "src": "3042:17:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3028:3:13", - "nodeType": "YulIdentifier", - "src": "3028:3:13" - }, - "nativeSrc": "3028:32:13", - "nodeType": "YulFunctionCall", - "src": "3028:32:13" - }, - { - "name": "end", - "nativeSrc": "3062:3:13", - "nodeType": "YulIdentifier", - "src": "3062:3:13" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "3025:2:13", - "nodeType": "YulIdentifier", - "src": "3025:2:13" - }, - "nativeSrc": "3025:41:13", - "nodeType": "YulFunctionCall", - "src": "3025:41:13" - }, - "nativeSrc": "3022:128:13", - "nodeType": "YulIf", - "src": "3022:128:13" - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", - "nativeSrc": "2588:568:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "2645:6:13", - "nodeType": "YulTypedName", - "src": "2645:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "2653:3:13", - "nodeType": "YulTypedName", - "src": "2653:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nativeSrc": "2661:8:13", - "nodeType": "YulTypedName", - "src": "2661:8:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "2671:6:13", - "nodeType": "YulTypedName", - "src": "2671:6:13", - "type": "" - } - ], - "src": "2588:568:13" - }, - { - "body": { - "nativeSrc": "3346:812:13", - "nodeType": "YulBlock", - "src": "3346:812:13", - "statements": [ - { - "body": { - "nativeSrc": "3392:83:13", - "nodeType": "YulBlock", - "src": "3392:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "3394:77:13", - "nodeType": "YulIdentifier", - "src": "3394:77:13" - }, - "nativeSrc": "3394:79:13", - "nodeType": "YulFunctionCall", - "src": "3394:79:13" - }, - "nativeSrc": "3394:79:13", - "nodeType": "YulExpressionStatement", - "src": "3394:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "3367:7:13", - "nodeType": "YulIdentifier", - "src": "3367:7:13" - }, - { - "name": "headStart", - "nativeSrc": "3376:9:13", - "nodeType": "YulIdentifier", - "src": "3376:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "3363:3:13", - "nodeType": "YulIdentifier", - "src": "3363:3:13" - }, - "nativeSrc": "3363:23:13", - "nodeType": "YulFunctionCall", - "src": "3363:23:13" - }, - { - "kind": "number", - "nativeSrc": "3388:2:13", - "nodeType": "YulLiteral", - "src": "3388:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "3359:3:13", - "nodeType": "YulIdentifier", - "src": "3359:3:13" - }, - "nativeSrc": "3359:32:13", - "nodeType": "YulFunctionCall", - "src": "3359:32:13" - }, - "nativeSrc": "3356:119:13", - "nodeType": "YulIf", - "src": "3356:119:13" - }, - { - "nativeSrc": "3485:343:13", - "nodeType": "YulBlock", - "src": "3485:343:13", - "statements": [ - { - "nativeSrc": "3500:45:13", - "nodeType": "YulVariableDeclaration", - "src": "3500:45:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3531:9:13", - "nodeType": "YulIdentifier", - "src": "3531:9:13" - }, - { - "kind": "number", - "nativeSrc": "3542:1:13", - "nodeType": "YulLiteral", - "src": "3542:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3527:3:13", - "nodeType": "YulIdentifier", - "src": "3527:3:13" - }, - "nativeSrc": "3527:17:13", - "nodeType": "YulFunctionCall", - "src": "3527:17:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "3514:12:13", - "nodeType": "YulIdentifier", - "src": "3514:12:13" - }, - "nativeSrc": "3514:31:13", - "nodeType": "YulFunctionCall", - "src": "3514:31:13" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "3504:6:13", - "nodeType": "YulTypedName", - "src": "3504:6:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "3592:83:13", - "nodeType": "YulBlock", - "src": "3592:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "3594:77:13", - "nodeType": "YulIdentifier", - "src": "3594:77:13" - }, - "nativeSrc": "3594:79:13", - "nodeType": "YulFunctionCall", - "src": "3594:79:13" - }, - "nativeSrc": "3594:79:13", - "nodeType": "YulExpressionStatement", - "src": "3594:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "3564:6:13", - "nodeType": "YulIdentifier", - "src": "3564:6:13" - }, - { - "kind": "number", - "nativeSrc": "3572:18:13", - "nodeType": "YulLiteral", - "src": "3572:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "3561:2:13", - "nodeType": "YulIdentifier", - "src": "3561:2:13" - }, - "nativeSrc": "3561:30:13", - "nodeType": "YulFunctionCall", - "src": "3561:30:13" - }, - "nativeSrc": "3558:117:13", - "nodeType": "YulIf", - "src": "3558:117:13" - }, - { - "nativeSrc": "3689:129:13", - "nodeType": "YulAssignment", - "src": "3689:129:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3790:9:13", - "nodeType": "YulIdentifier", - "src": "3790:9:13" - }, - { - "name": "offset", - "nativeSrc": "3801:6:13", - "nodeType": "YulIdentifier", - "src": "3801:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3786:3:13", - "nodeType": "YulIdentifier", - "src": "3786:3:13" - }, - "nativeSrc": "3786:22:13", - "nodeType": "YulFunctionCall", - "src": "3786:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "3810:7:13", - "nodeType": "YulIdentifier", - "src": "3810:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "nativeSrc": "3707:78:13", - "nodeType": "YulIdentifier", - "src": "3707:78:13" - }, - "nativeSrc": "3707:111:13", - "nodeType": "YulFunctionCall", - "src": "3707:111:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "3689:6:13", - "nodeType": "YulIdentifier", - "src": "3689:6:13" - }, - { - "name": "value1", - "nativeSrc": "3697:6:13", - "nodeType": "YulIdentifier", - "src": "3697:6:13" - } - ] - } - ] - }, - { - "nativeSrc": "3838:313:13", - "nodeType": "YulBlock", - "src": "3838:313:13", - "statements": [ - { - "nativeSrc": "3853:46:13", - "nodeType": "YulVariableDeclaration", - "src": "3853:46:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3884:9:13", - "nodeType": "YulIdentifier", - "src": "3884:9:13" - }, - { - "kind": "number", - "nativeSrc": "3895:2:13", - "nodeType": "YulLiteral", - "src": "3895:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3880:3:13", - "nodeType": "YulIdentifier", - "src": "3880:3:13" - }, - "nativeSrc": "3880:18:13", - "nodeType": "YulFunctionCall", - "src": "3880:18:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "3867:12:13", - "nodeType": "YulIdentifier", - "src": "3867:12:13" - }, - "nativeSrc": "3867:32:13", - "nodeType": "YulFunctionCall", - "src": "3867:32:13" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "3857:6:13", - "nodeType": "YulTypedName", - "src": "3857:6:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "3946:83:13", - "nodeType": "YulBlock", - "src": "3946:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "3948:77:13", - "nodeType": "YulIdentifier", - "src": "3948:77:13" - }, - "nativeSrc": "3948:79:13", - "nodeType": "YulFunctionCall", - "src": "3948:79:13" - }, - "nativeSrc": "3948:79:13", - "nodeType": "YulExpressionStatement", - "src": "3948:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "3918:6:13", - "nodeType": "YulIdentifier", - "src": "3918:6:13" - }, - { - "kind": "number", - "nativeSrc": "3926:18:13", - "nodeType": "YulLiteral", - "src": "3926:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "3915:2:13", - "nodeType": "YulIdentifier", - "src": "3915:2:13" - }, - "nativeSrc": "3915:30:13", - "nodeType": "YulFunctionCall", - "src": "3915:30:13" - }, - "nativeSrc": "3912:117:13", - "nodeType": "YulIf", - "src": "3912:117:13" - }, - { - "nativeSrc": "4043:98:13", - "nodeType": "YulAssignment", - "src": "4043:98:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4113:9:13", - "nodeType": "YulIdentifier", - "src": "4113:9:13" - }, - { - "name": "offset", - "nativeSrc": "4124:6:13", - "nodeType": "YulIdentifier", - "src": "4124:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4109:3:13", - "nodeType": "YulIdentifier", - "src": "4109:3:13" - }, - "nativeSrc": "4109:22:13", - "nodeType": "YulFunctionCall", - "src": "4109:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "4133:7:13", - "nodeType": "YulIdentifier", - "src": "4133:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", - "nativeSrc": "4061:47:13", - "nodeType": "YulIdentifier", - "src": "4061:47:13" - }, - "nativeSrc": "4061:80:13", - "nodeType": "YulFunctionCall", - "src": "4061:80:13" - }, - "variableNames": [ - { - "name": "value2", - "nativeSrc": "4043:6:13", - "nodeType": "YulIdentifier", - "src": "4043:6:13" - }, - { - "name": "value3", - "nativeSrc": "4051:6:13", - "nodeType": "YulIdentifier", - "src": "4051:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr", - "nativeSrc": "3162:996:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "3292:9:13", - "nodeType": "YulTypedName", - "src": "3292:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "3303:7:13", - "nodeType": "YulTypedName", - "src": "3303:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "3315:6:13", - "nodeType": "YulTypedName", - "src": "3315:6:13", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "3323:6:13", - "nodeType": "YulTypedName", - "src": "3323:6:13", - "type": "" - }, - { - "name": "value2", - "nativeSrc": "3331:6:13", - "nodeType": "YulTypedName", - "src": "3331:6:13", - "type": "" - }, - { - "name": "value3", - "nativeSrc": "3339:6:13", - "nodeType": "YulTypedName", - "src": "3339:6:13", - "type": "" - } - ], - "src": "3162:996:13" - }, - { - "body": { - "nativeSrc": "4206:48:13", - "nodeType": "YulBlock", - "src": "4206:48:13", - "statements": [ - { - "nativeSrc": "4216:32:13", - "nodeType": "YulAssignment", - "src": "4216:32:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "4241:5:13", - "nodeType": "YulIdentifier", - "src": "4241:5:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "4234:6:13", - "nodeType": "YulIdentifier", - "src": "4234:6:13" - }, - "nativeSrc": "4234:13:13", - "nodeType": "YulFunctionCall", - "src": "4234:13:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "4227:6:13", - "nodeType": "YulIdentifier", - "src": "4227:6:13" - }, - "nativeSrc": "4227:21:13", - "nodeType": "YulFunctionCall", - "src": "4227:21:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "4216:7:13", - "nodeType": "YulIdentifier", - "src": "4216:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_bool", - "nativeSrc": "4164:90:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "4188:5:13", - "nodeType": "YulTypedName", - "src": "4188:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "4198:7:13", - "nodeType": "YulTypedName", - "src": "4198:7:13", - "type": "" - } - ], - "src": "4164:90:13" - }, - { - "body": { - "nativeSrc": "4319:50:13", - "nodeType": "YulBlock", - "src": "4319:50:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "4336:3:13", - "nodeType": "YulIdentifier", - "src": "4336:3:13" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "4356:5:13", - "nodeType": "YulIdentifier", - "src": "4356:5:13" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nativeSrc": "4341:14:13", - "nodeType": "YulIdentifier", - "src": "4341:14:13" - }, - "nativeSrc": "4341:21:13", - "nodeType": "YulFunctionCall", - "src": "4341:21:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4329:6:13", - "nodeType": "YulIdentifier", - "src": "4329:6:13" - }, - "nativeSrc": "4329:34:13", - "nodeType": "YulFunctionCall", - "src": "4329:34:13" - }, - "nativeSrc": "4329:34:13", - "nodeType": "YulExpressionStatement", - "src": "4329:34:13" - } - ] - }, - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nativeSrc": "4260:109:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "4307:5:13", - "nodeType": "YulTypedName", - "src": "4307:5:13", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "4314:3:13", - "nodeType": "YulTypedName", - "src": "4314:3:13", - "type": "" - } - ], - "src": "4260:109:13" - }, - { - "body": { - "nativeSrc": "4467:118:13", - "nodeType": "YulBlock", - "src": "4467:118:13", - "statements": [ - { - "nativeSrc": "4477:26:13", - "nodeType": "YulAssignment", - "src": "4477:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4489:9:13", - "nodeType": "YulIdentifier", - "src": "4489:9:13" - }, - { - "kind": "number", - "nativeSrc": "4500:2:13", - "nodeType": "YulLiteral", - "src": "4500:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4485:3:13", - "nodeType": "YulIdentifier", - "src": "4485:3:13" - }, - "nativeSrc": "4485:18:13", - "nodeType": "YulFunctionCall", - "src": "4485:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "4477:4:13", - "nodeType": "YulIdentifier", - "src": "4477:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "4551:6:13", - "nodeType": "YulIdentifier", - "src": "4551:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4564:9:13", - "nodeType": "YulIdentifier", - "src": "4564:9:13" - }, - { - "kind": "number", - "nativeSrc": "4575:1:13", - "nodeType": "YulLiteral", - "src": "4575:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4560:3:13", - "nodeType": "YulIdentifier", - "src": "4560:3:13" - }, - "nativeSrc": "4560:17:13", - "nodeType": "YulFunctionCall", - "src": "4560:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nativeSrc": "4513:37:13", - "nodeType": "YulIdentifier", - "src": "4513:37:13" - }, - "nativeSrc": "4513:65:13", - "nodeType": "YulFunctionCall", - "src": "4513:65:13" - }, - "nativeSrc": "4513:65:13", - "nodeType": "YulExpressionStatement", - "src": "4513:65:13" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nativeSrc": "4375:210:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "4439:9:13", - "nodeType": "YulTypedName", - "src": "4439:9:13", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "4451:6:13", - "nodeType": "YulTypedName", - "src": "4451:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "4462:4:13", - "nodeType": "YulTypedName", - "src": "4462:4:13", - "type": "" - } - ], - "src": "4375:210:13" - }, - { - "body": { - "nativeSrc": "4680:28:13", - "nodeType": "YulBlock", - "src": "4680:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4697:1:13", - "nodeType": "YulLiteral", - "src": "4697:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "4700:1:13", - "nodeType": "YulLiteral", - "src": "4700:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "4690:6:13", - "nodeType": "YulIdentifier", - "src": "4690:6:13" - }, - "nativeSrc": "4690:12:13", - "nodeType": "YulFunctionCall", - "src": "4690:12:13" - }, - "nativeSrc": "4690:12:13", - "nodeType": "YulExpressionStatement", - "src": "4690:12:13" - } - ] - }, - "name": "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d", - "nativeSrc": "4591:117:13", - "nodeType": "YulFunctionDefinition", - "src": "4591:117:13" - }, - { - "body": { - "nativeSrc": "4823:153:13", - "nodeType": "YulBlock", - "src": "4823:153:13", - "statements": [ - { - "body": { - "nativeSrc": "4863:83:13", - "nodeType": "YulBlock", - "src": "4863:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d", - "nativeSrc": "4865:77:13", - "nodeType": "YulIdentifier", - "src": "4865:77:13" - }, - "nativeSrc": "4865:79:13", - "nodeType": "YulFunctionCall", - "src": "4865:79:13" - }, - "nativeSrc": "4865:79:13", - "nodeType": "YulExpressionStatement", - "src": "4865:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "end", - "nativeSrc": "4844:3:13", - "nodeType": "YulIdentifier", - "src": "4844:3:13" - }, - { - "name": "offset", - "nativeSrc": "4849:6:13", - "nodeType": "YulIdentifier", - "src": "4849:6:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "4840:3:13", - "nodeType": "YulIdentifier", - "src": "4840:3:13" - }, - "nativeSrc": "4840:16:13", - "nodeType": "YulFunctionCall", - "src": "4840:16:13" - }, - { - "kind": "number", - "nativeSrc": "4858:3:13", - "nodeType": "YulLiteral", - "src": "4858:3:13", - "type": "", - "value": "320" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "4836:3:13", - "nodeType": "YulIdentifier", - "src": "4836:3:13" - }, - "nativeSrc": "4836:26:13", - "nodeType": "YulFunctionCall", - "src": "4836:26:13" - }, - "nativeSrc": "4833:113:13", - "nodeType": "YulIf", - "src": "4833:113:13" - }, - { - "nativeSrc": "4955:15:13", - "nodeType": "YulAssignment", - "src": "4955:15:13", - "value": { - "name": "offset", - "nativeSrc": "4964:6:13", - "nodeType": "YulIdentifier", - "src": "4964:6:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "4955:5:13", - "nodeType": "YulIdentifier", - "src": "4955:5:13" - } - ] - } - ] - }, - "name": "abi_decode_t_struct$_Attestation_$1641_calldata_ptr", - "nativeSrc": "4740:236:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "4801:6:13", - "nodeType": "YulTypedName", - "src": "4801:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "4809:3:13", - "nodeType": "YulTypedName", - "src": "4809:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "4817:5:13", - "nodeType": "YulTypedName", - "src": "4817:5:13", - "type": "" - } - ], - "src": "4740:236:13" - }, - { - "body": { - "nativeSrc": "5079:454:13", - "nodeType": "YulBlock", - "src": "5079:454:13", - "statements": [ - { - "body": { - "nativeSrc": "5125:83:13", - "nodeType": "YulBlock", - "src": "5125:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "5127:77:13", - "nodeType": "YulIdentifier", - "src": "5127:77:13" - }, - "nativeSrc": "5127:79:13", - "nodeType": "YulFunctionCall", - "src": "5127:79:13" - }, - "nativeSrc": "5127:79:13", - "nodeType": "YulExpressionStatement", - "src": "5127:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "5100:7:13", - "nodeType": "YulIdentifier", - "src": "5100:7:13" - }, - { - "name": "headStart", - "nativeSrc": "5109:9:13", - "nodeType": "YulIdentifier", - "src": "5109:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "5096:3:13", - "nodeType": "YulIdentifier", - "src": "5096:3:13" - }, - "nativeSrc": "5096:23:13", - "nodeType": "YulFunctionCall", - "src": "5096:23:13" - }, - { - "kind": "number", - "nativeSrc": "5121:2:13", - "nodeType": "YulLiteral", - "src": "5121:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "5092:3:13", - "nodeType": "YulIdentifier", - "src": "5092:3:13" - }, - "nativeSrc": "5092:32:13", - "nodeType": "YulFunctionCall", - "src": "5092:32:13" - }, - "nativeSrc": "5089:119:13", - "nodeType": "YulIf", - "src": "5089:119:13" - }, - { - "nativeSrc": "5218:308:13", - "nodeType": "YulBlock", - "src": "5218:308:13", - "statements": [ - { - "nativeSrc": "5233:45:13", - "nodeType": "YulVariableDeclaration", - "src": "5233:45:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "5264:9:13", - "nodeType": "YulIdentifier", - "src": "5264:9:13" - }, - { - "kind": "number", - "nativeSrc": "5275:1:13", - "nodeType": "YulLiteral", - "src": "5275:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5260:3:13", - "nodeType": "YulIdentifier", - "src": "5260:3:13" - }, - "nativeSrc": "5260:17:13", - "nodeType": "YulFunctionCall", - "src": "5260:17:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "5247:12:13", - "nodeType": "YulIdentifier", - "src": "5247:12:13" - }, - "nativeSrc": "5247:31:13", - "nodeType": "YulFunctionCall", - "src": "5247:31:13" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "5237:6:13", - "nodeType": "YulTypedName", - "src": "5237:6:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5325:83:13", - "nodeType": "YulBlock", - "src": "5325:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "5327:77:13", - "nodeType": "YulIdentifier", - "src": "5327:77:13" - }, - "nativeSrc": "5327:79:13", - "nodeType": "YulFunctionCall", - "src": "5327:79:13" - }, - "nativeSrc": "5327:79:13", - "nodeType": "YulExpressionStatement", - "src": "5327:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "5297:6:13", - "nodeType": "YulIdentifier", - "src": "5297:6:13" - }, - { - "kind": "number", - "nativeSrc": "5305:18:13", - "nodeType": "YulLiteral", - "src": "5305:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "5294:2:13", - "nodeType": "YulIdentifier", - "src": "5294:2:13" - }, - "nativeSrc": "5294:30:13", - "nodeType": "YulFunctionCall", - "src": "5294:30:13" - }, - "nativeSrc": "5291:117:13", - "nodeType": "YulIf", - "src": "5291:117:13" - }, - { - "nativeSrc": "5422:94:13", - "nodeType": "YulAssignment", - "src": "5422:94:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "5488:9:13", - "nodeType": "YulIdentifier", - "src": "5488:9:13" - }, - { - "name": "offset", - "nativeSrc": "5499:6:13", - "nodeType": "YulIdentifier", - "src": "5499:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5484:3:13", - "nodeType": "YulIdentifier", - "src": "5484:3:13" - }, - "nativeSrc": "5484:22:13", - "nodeType": "YulFunctionCall", - "src": "5484:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "5508:7:13", - "nodeType": "YulIdentifier", - "src": "5508:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_struct$_Attestation_$1641_calldata_ptr", - "nativeSrc": "5432:51:13", - "nodeType": "YulIdentifier", - "src": "5432:51:13" - }, - "nativeSrc": "5432:84:13", - "nodeType": "YulFunctionCall", - "src": "5432:84:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "5422:6:13", - "nodeType": "YulIdentifier", - "src": "5422:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr", - "nativeSrc": "4982:551:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "5049:9:13", - "nodeType": "YulTypedName", - "src": "5049:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "5060:7:13", - "nodeType": "YulTypedName", - "src": "5060:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "5072:6:13", - "nodeType": "YulTypedName", - "src": "5072:6:13", - "type": "" - } - ], - "src": "4982:551:13" - }, - { - "body": { - "nativeSrc": "5653:34:13", - "nodeType": "YulBlock", - "src": "5653:34:13", - "statements": [ - { - "nativeSrc": "5663:18:13", - "nodeType": "YulAssignment", - "src": "5663:18:13", - "value": { - "name": "pos", - "nativeSrc": "5678:3:13", - "nodeType": "YulIdentifier", - "src": "5678:3:13" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "5663:11:13", - "nodeType": "YulIdentifier", - "src": "5663:11:13" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5539:148:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "5625:3:13", - "nodeType": "YulTypedName", - "src": "5625:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "5630:6:13", - "nodeType": "YulTypedName", - "src": "5630:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "5641:11:13", - "nodeType": "YulTypedName", - "src": "5641:11:13", - "type": "" - } - ], - "src": "5539:148:13" - }, - { - "body": { - "nativeSrc": "5803:280:13", - "nodeType": "YulBlock", - "src": "5803:280:13", - "statements": [ - { - "nativeSrc": "5813:53:13", - "nodeType": "YulVariableDeclaration", - "src": "5813:53:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "5860:5:13", - "nodeType": "YulIdentifier", - "src": "5860:5:13" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "5827:32:13", - "nodeType": "YulIdentifier", - "src": "5827:32:13" - }, - "nativeSrc": "5827:39:13", - "nodeType": "YulFunctionCall", - "src": "5827:39:13" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "5817:6:13", - "nodeType": "YulTypedName", - "src": "5817:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "5875:96:13", - "nodeType": "YulAssignment", - "src": "5875:96:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "5959:3:13", - "nodeType": "YulIdentifier", - "src": "5959:3:13" - }, - { - "name": "length", - "nativeSrc": "5964:6:13", - "nodeType": "YulIdentifier", - "src": "5964:6:13" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5882:76:13", - "nodeType": "YulIdentifier", - "src": "5882:76:13" - }, - "nativeSrc": "5882:89:13", - "nodeType": "YulFunctionCall", - "src": "5882:89:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "5875:3:13", - "nodeType": "YulIdentifier", - "src": "5875:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "6019:5:13", - "nodeType": "YulIdentifier", - "src": "6019:5:13" - }, - { - "kind": "number", - "nativeSrc": "6026:4:13", - "nodeType": "YulLiteral", - "src": "6026:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6015:3:13", - "nodeType": "YulIdentifier", - "src": "6015:3:13" - }, - "nativeSrc": "6015:16:13", - "nodeType": "YulFunctionCall", - "src": "6015:16:13" - }, - { - "name": "pos", - "nativeSrc": "6033:3:13", - "nodeType": "YulIdentifier", - "src": "6033:3:13" - }, - { - "name": "length", - "nativeSrc": "6038:6:13", - "nodeType": "YulIdentifier", - "src": "6038:6:13" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "5980:34:13", - "nodeType": "YulIdentifier", - "src": "5980:34:13" - }, - "nativeSrc": "5980:65:13", - "nodeType": "YulFunctionCall", - "src": "5980:65:13" - }, - "nativeSrc": "5980:65:13", - "nodeType": "YulExpressionStatement", - "src": "5980:65:13" - }, - { - "nativeSrc": "6054:23:13", - "nodeType": "YulAssignment", - "src": "6054:23:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6065:3:13", - "nodeType": "YulIdentifier", - "src": "6065:3:13" - }, - { - "name": "length", - "nativeSrc": "6070:6:13", - "nodeType": "YulIdentifier", - "src": "6070:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6061:3:13", - "nodeType": "YulIdentifier", - "src": "6061:3:13" - }, - "nativeSrc": "6061:16:13", - "nodeType": "YulFunctionCall", - "src": "6061:16:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "6054:3:13", - "nodeType": "YulIdentifier", - "src": "6054:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5693:390:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "5784:5:13", - "nodeType": "YulTypedName", - "src": "5784:5:13", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "5791:3:13", - "nodeType": "YulTypedName", - "src": "5791:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "5799:3:13", - "nodeType": "YulTypedName", - "src": "5799:3:13", - "type": "" - } - ], - "src": "5693:390:13" - }, - { - "body": { - "nativeSrc": "6195:45:13", - "nodeType": "YulBlock", - "src": "6195:45:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "6217:6:13", - "nodeType": "YulIdentifier", - "src": "6217:6:13" - }, - { - "kind": "number", - "nativeSrc": "6225:1:13", - "nodeType": "YulLiteral", - "src": "6225:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6213:3:13", - "nodeType": "YulIdentifier", - "src": "6213:3:13" - }, - "nativeSrc": "6213:14:13", - "nodeType": "YulFunctionCall", - "src": "6213:14:13" - }, - { - "hexValue": "2e", - "kind": "string", - "nativeSrc": "6229:3:13", - "nodeType": "YulLiteral", - "src": "6229:3:13", - "type": "", - "value": "." - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "6206:6:13", - "nodeType": "YulIdentifier", - "src": "6206:6:13" - }, - "nativeSrc": "6206:27:13", - "nodeType": "YulFunctionCall", - "src": "6206:27:13" - }, - "nativeSrc": "6206:27:13", - "nodeType": "YulExpressionStatement", - "src": "6206:27:13" - } - ] - }, - "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "nativeSrc": "6089:151:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "6187:6:13", - "nodeType": "YulTypedName", - "src": "6187:6:13", - "type": "" - } - ], - "src": "6089:151:13" - }, - { - "body": { - "nativeSrc": "6410:236:13", - "nodeType": "YulBlock", - "src": "6410:236:13", - "statements": [ - { - "nativeSrc": "6420:91:13", - "nodeType": "YulAssignment", - "src": "6420:91:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6504:3:13", - "nodeType": "YulIdentifier", - "src": "6504:3:13" - }, - { - "kind": "number", - "nativeSrc": "6509:1:13", - "nodeType": "YulLiteral", - "src": "6509:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "6427:76:13", - "nodeType": "YulIdentifier", - "src": "6427:76:13" - }, - "nativeSrc": "6427:84:13", - "nodeType": "YulFunctionCall", - "src": "6427:84:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "6420:3:13", - "nodeType": "YulIdentifier", - "src": "6420:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6609:3:13", - "nodeType": "YulIdentifier", - "src": "6609:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "nativeSrc": "6520:88:13", - "nodeType": "YulIdentifier", - "src": "6520:88:13" - }, - "nativeSrc": "6520:93:13", - "nodeType": "YulFunctionCall", - "src": "6520:93:13" - }, - "nativeSrc": "6520:93:13", - "nodeType": "YulExpressionStatement", - "src": "6520:93:13" - }, - { - "nativeSrc": "6622:18:13", - "nodeType": "YulAssignment", - "src": "6622:18:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6633:3:13", - "nodeType": "YulIdentifier", - "src": "6633:3:13" - }, - { - "kind": "number", - "nativeSrc": "6638:1:13", - "nodeType": "YulLiteral", - "src": "6638:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6629:3:13", - "nodeType": "YulIdentifier", - "src": "6629:3:13" - }, - "nativeSrc": "6629:11:13", - "nodeType": "YulFunctionCall", - "src": "6629:11:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "6622:3:13", - "nodeType": "YulIdentifier", - "src": "6622:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "6246:400:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "6398:3:13", - "nodeType": "YulTypedName", - "src": "6398:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "6406:3:13", - "nodeType": "YulTypedName", - "src": "6406:3:13", - "type": "" - } - ], - "src": "6246:400:13" - }, - { - "body": { - "nativeSrc": "7086:693:13", - "nodeType": "YulBlock", - "src": "7086:693:13", - "statements": [ - { - "nativeSrc": "7097:102:13", - "nodeType": "YulAssignment", - "src": "7097:102:13", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "7186:6:13", - "nodeType": "YulIdentifier", - "src": "7186:6:13" - }, - { - "name": "pos", - "nativeSrc": "7195:3:13", - "nodeType": "YulIdentifier", - "src": "7195:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7104:81:13", - "nodeType": "YulIdentifier", - "src": "7104:81:13" - }, - "nativeSrc": "7104:95:13", - "nodeType": "YulFunctionCall", - "src": "7104:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7097:3:13", - "nodeType": "YulIdentifier", - "src": "7097:3:13" - } - ] - }, - { - "nativeSrc": "7209:155:13", - "nodeType": "YulAssignment", - "src": "7209:155:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "7360:3:13", - "nodeType": "YulIdentifier", - "src": "7360:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7216:142:13", - "nodeType": "YulIdentifier", - "src": "7216:142:13" - }, - "nativeSrc": "7216:148:13", - "nodeType": "YulFunctionCall", - "src": "7216:148:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7209:3:13", - "nodeType": "YulIdentifier", - "src": "7209:3:13" - } - ] - }, - { - "nativeSrc": "7374:102:13", - "nodeType": "YulAssignment", - "src": "7374:102:13", - "value": { - "arguments": [ - { - "name": "value1", - "nativeSrc": "7463:6:13", - "nodeType": "YulIdentifier", - "src": "7463:6:13" - }, - { - "name": "pos", - "nativeSrc": "7472:3:13", - "nodeType": "YulIdentifier", - "src": "7472:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7381:81:13", - "nodeType": "YulIdentifier", - "src": "7381:81:13" - }, - "nativeSrc": "7381:95:13", - "nodeType": "YulFunctionCall", - "src": "7381:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7374:3:13", - "nodeType": "YulIdentifier", - "src": "7374:3:13" - } - ] - }, - { - "nativeSrc": "7486:155:13", - "nodeType": "YulAssignment", - "src": "7486:155:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "7637:3:13", - "nodeType": "YulIdentifier", - "src": "7637:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7493:142:13", - "nodeType": "YulIdentifier", - "src": "7493:142:13" - }, - "nativeSrc": "7493:148:13", - "nodeType": "YulFunctionCall", - "src": "7493:148:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7486:3:13", - "nodeType": "YulIdentifier", - "src": "7486:3:13" - } - ] - }, - { - "nativeSrc": "7651:102:13", - "nodeType": "YulAssignment", - "src": "7651:102:13", - "value": { - "arguments": [ - { - "name": "value2", - "nativeSrc": "7740:6:13", - "nodeType": "YulIdentifier", - "src": "7740:6:13" - }, - { - "name": "pos", - "nativeSrc": "7749:3:13", - "nodeType": "YulIdentifier", - "src": "7749:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7658:81:13", - "nodeType": "YulIdentifier", - "src": "7658:81:13" - }, - "nativeSrc": "7658:95:13", - "nodeType": "YulFunctionCall", - "src": "7658:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7651:3:13", - "nodeType": "YulIdentifier", - "src": "7651:3:13" - } - ] - }, - { - "nativeSrc": "7763:10:13", - "nodeType": "YulAssignment", - "src": "7763:10:13", - "value": { - "name": "pos", - "nativeSrc": "7770:3:13", - "nodeType": "YulIdentifier", - "src": "7770:3:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "7763:3:13", - "nodeType": "YulIdentifier", - "src": "7763:3:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "6652:1127:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "7049:3:13", - "nodeType": "YulTypedName", - "src": "7049:3:13", - "type": "" - }, - { - "name": "value2", - "nativeSrc": "7055:6:13", - "nodeType": "YulTypedName", - "src": "7055:6:13", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "7063:6:13", - "nodeType": "YulTypedName", - "src": "7063:6:13", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "7071:6:13", - "nodeType": "YulTypedName", - "src": "7071:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "7082:3:13", - "nodeType": "YulTypedName", - "src": "7082:3:13", - "type": "" - } - ], - "src": "6652:1127:13" - }, - { - "body": { - "nativeSrc": "7813:152:13", - "nodeType": "YulBlock", - "src": "7813:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7830:1:13", - "nodeType": "YulLiteral", - "src": "7830:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "7833:77:13", - "nodeType": "YulLiteral", - "src": "7833:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7823:6:13", - "nodeType": "YulIdentifier", - "src": "7823:6:13" - }, - "nativeSrc": "7823:88:13", - "nodeType": "YulFunctionCall", - "src": "7823:88:13" - }, - "nativeSrc": "7823:88:13", - "nodeType": "YulExpressionStatement", - "src": "7823:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7927:1:13", - "nodeType": "YulLiteral", - "src": "7927:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "7930:4:13", - "nodeType": "YulLiteral", - "src": "7930:4:13", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7920:6:13", - "nodeType": "YulIdentifier", - "src": "7920:6:13" - }, - "nativeSrc": "7920:15:13", - "nodeType": "YulFunctionCall", - "src": "7920:15:13" - }, - "nativeSrc": "7920:15:13", - "nodeType": "YulExpressionStatement", - "src": "7920:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7951:1:13", - "nodeType": "YulLiteral", - "src": "7951:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "7954:4:13", - "nodeType": "YulLiteral", - "src": "7954:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "7944:6:13", - "nodeType": "YulIdentifier", - "src": "7944:6:13" - }, - "nativeSrc": "7944:15:13", - "nodeType": "YulFunctionCall", - "src": "7944:15:13" - }, - "nativeSrc": "7944:15:13", - "nodeType": "YulExpressionStatement", - "src": "7944:15:13" - } - ] - }, - "name": "panic_error_0x32", - "nativeSrc": "7785:180:13", - "nodeType": "YulFunctionDefinition", - "src": "7785:180:13" - }, - { - "body": { - "nativeSrc": "8060:28:13", - "nodeType": "YulBlock", - "src": "8060:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8077:1:13", - "nodeType": "YulLiteral", - "src": "8077:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8080:1:13", - "nodeType": "YulLiteral", - "src": "8080:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "8070:6:13", - "nodeType": "YulIdentifier", - "src": "8070:6:13" - }, - "nativeSrc": "8070:12:13", - "nodeType": "YulFunctionCall", - "src": "8070:12:13" - }, - "nativeSrc": "8070:12:13", - "nodeType": "YulExpressionStatement", - "src": "8070:12:13" - } - ] - }, - "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", - "nativeSrc": "7971:117:13", - "nodeType": "YulFunctionDefinition", - "src": "7971:117:13" - }, - { - "body": { - "nativeSrc": "8183:28:13", - "nodeType": "YulBlock", - "src": "8183:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8200:1:13", - "nodeType": "YulLiteral", - "src": "8200:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8203:1:13", - "nodeType": "YulLiteral", - "src": "8203:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "8193:6:13", - "nodeType": "YulIdentifier", - "src": "8193:6:13" - }, - "nativeSrc": "8193:12:13", - "nodeType": "YulFunctionCall", - "src": "8193:12:13" - }, - "nativeSrc": "8193:12:13", - "nodeType": "YulExpressionStatement", - "src": "8193:12:13" - } - ] - }, - "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", - "nativeSrc": "8094:117:13", - "nodeType": "YulFunctionDefinition", - "src": "8094:117:13" - }, - { - "body": { - "nativeSrc": "8306:28:13", - "nodeType": "YulBlock", - "src": "8306:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8323:1:13", - "nodeType": "YulLiteral", - "src": "8323:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8326:1:13", - "nodeType": "YulLiteral", - "src": "8326:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "8316:6:13", - "nodeType": "YulIdentifier", - "src": "8316:6:13" - }, - "nativeSrc": "8316:12:13", - "nodeType": "YulFunctionCall", - "src": "8316:12:13" - }, - "nativeSrc": "8316:12:13", - "nodeType": "YulExpressionStatement", - "src": "8316:12:13" - } - ] - }, - "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", - "nativeSrc": "8217:117:13", - "nodeType": "YulFunctionDefinition", - "src": "8217:117:13" - }, - { - "body": { - "nativeSrc": "8442:297:13", - "nodeType": "YulBlock", - "src": "8442:297:13", - "statements": [ - { - "nativeSrc": "8452:51:13", - "nodeType": "YulVariableDeclaration", - "src": "8452:51:13", - "value": { - "arguments": [ - { - "name": "ptr_to_tail", - "nativeSrc": "8491:11:13", - "nodeType": "YulIdentifier", - "src": "8491:11:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "8478:12:13", - "nodeType": "YulIdentifier", - "src": "8478:12:13" - }, - "nativeSrc": "8478:25:13", - "nodeType": "YulFunctionCall", - "src": "8478:25:13" - }, - "variables": [ - { - "name": "rel_offset_of_tail", - "nativeSrc": "8456:18:13", - "nodeType": "YulTypedName", - "src": "8456:18:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "8599:83:13", - "nodeType": "YulBlock", - "src": "8599:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", - "nativeSrc": "8601:77:13", - "nodeType": "YulIdentifier", - "src": "8601:77:13" - }, - "nativeSrc": "8601:79:13", - "nodeType": "YulFunctionCall", - "src": "8601:79:13" - }, - "nativeSrc": "8601:79:13", - "nodeType": "YulExpressionStatement", - "src": "8601:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "rel_offset_of_tail", - "nativeSrc": "8526:18:13", - "nodeType": "YulIdentifier", - "src": "8526:18:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nativeSrc": "8554:12:13", - "nodeType": "YulIdentifier", - "src": "8554:12:13" - }, - "nativeSrc": "8554:14:13", - "nodeType": "YulFunctionCall", - "src": "8554:14:13" - }, - { - "name": "base_ref", - "nativeSrc": "8570:8:13", - "nodeType": "YulIdentifier", - "src": "8570:8:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "8550:3:13", - "nodeType": "YulIdentifier", - "src": "8550:3:13" - }, - "nativeSrc": "8550:29:13", - "nodeType": "YulFunctionCall", - "src": "8550:29:13" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8585:6:13", - "nodeType": "YulLiteral", - "src": "8585:6:13", - "type": "", - "value": "0x0140" - }, - { - "kind": "number", - "nativeSrc": "8593:1:13", - "nodeType": "YulLiteral", - "src": "8593:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "8581:3:13", - "nodeType": "YulIdentifier", - "src": "8581:3:13" - }, - "nativeSrc": "8581:14:13", - "nodeType": "YulFunctionCall", - "src": "8581:14:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "8546:3:13", - "nodeType": "YulIdentifier", - "src": "8546:3:13" - }, - "nativeSrc": "8546:50:13", - "nodeType": "YulFunctionCall", - "src": "8546:50:13" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "8522:3:13", - "nodeType": "YulIdentifier", - "src": "8522:3:13" - }, - "nativeSrc": "8522:75:13", - "nodeType": "YulFunctionCall", - "src": "8522:75:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "8515:6:13", - "nodeType": "YulIdentifier", - "src": "8515:6:13" - }, - "nativeSrc": "8515:83:13", - "nodeType": "YulFunctionCall", - "src": "8515:83:13" - }, - "nativeSrc": "8512:170:13", - "nodeType": "YulIf", - "src": "8512:170:13" - }, - { - "nativeSrc": "8691:41:13", - "nodeType": "YulAssignment", - "src": "8691:41:13", - "value": { - "arguments": [ - { - "name": "base_ref", - "nativeSrc": "8703:8:13", - "nodeType": "YulIdentifier", - "src": "8703:8:13" - }, - { - "name": "rel_offset_of_tail", - "nativeSrc": "8713:18:13", - "nodeType": "YulIdentifier", - "src": "8713:18:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8699:3:13", - "nodeType": "YulIdentifier", - "src": "8699:3:13" - }, - "nativeSrc": "8699:33:13", - "nodeType": "YulFunctionCall", - "src": "8699:33:13" - }, - "variableNames": [ - { - "name": "addr", - "nativeSrc": "8691:4:13", - "nodeType": "YulIdentifier", - "src": "8691:4:13" - } - ] - } - ] - }, - "name": "access_calldata_tail_t_struct$_Attestation_$1641_calldata_ptr", - "nativeSrc": "8340:399:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base_ref", - "nativeSrc": "8411:8:13", - "nodeType": "YulTypedName", - "src": "8411:8:13", - "type": "" - }, - { - "name": "ptr_to_tail", - "nativeSrc": "8421:11:13", - "nodeType": "YulTypedName", - "src": "8421:11:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "addr", - "nativeSrc": "8437:4:13", - "nodeType": "YulTypedName", - "src": "8437:4:13", - "type": "" - } - ], - "src": "8340:399:13" - }, - { - "body": { - "nativeSrc": "8773:152:13", - "nodeType": "YulBlock", - "src": "8773:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8790:1:13", - "nodeType": "YulLiteral", - "src": "8790:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8793:77:13", - "nodeType": "YulLiteral", - "src": "8793:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8783:6:13", - "nodeType": "YulIdentifier", - "src": "8783:6:13" - }, - "nativeSrc": "8783:88:13", - "nodeType": "YulFunctionCall", - "src": "8783:88:13" - }, - "nativeSrc": "8783:88:13", - "nodeType": "YulExpressionStatement", - "src": "8783:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8887:1:13", - "nodeType": "YulLiteral", - "src": "8887:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "8890:4:13", - "nodeType": "YulLiteral", - "src": "8890:4:13", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8880:6:13", - "nodeType": "YulIdentifier", - "src": "8880:6:13" - }, - "nativeSrc": "8880:15:13", - "nodeType": "YulFunctionCall", - "src": "8880:15:13" - }, - "nativeSrc": "8880:15:13", - "nodeType": "YulExpressionStatement", - "src": "8880:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8911:1:13", - "nodeType": "YulLiteral", - "src": "8911:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8914:4:13", - "nodeType": "YulLiteral", - "src": "8914:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "8904:6:13", - "nodeType": "YulIdentifier", - "src": "8904:6:13" - }, - "nativeSrc": "8904:15:13", - "nodeType": "YulFunctionCall", - "src": "8904:15:13" - }, - "nativeSrc": "8904:15:13", - "nodeType": "YulExpressionStatement", - "src": "8904:15:13" - } - ] - }, - "name": "panic_error_0x41", - "nativeSrc": "8745:180:13", - "nodeType": "YulFunctionDefinition", - "src": "8745:180:13" - }, - { - "body": { - "nativeSrc": "8959:152:13", - "nodeType": "YulBlock", - "src": "8959:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8976:1:13", - "nodeType": "YulLiteral", - "src": "8976:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8979:77:13", - "nodeType": "YulLiteral", - "src": "8979:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8969:6:13", - "nodeType": "YulIdentifier", - "src": "8969:6:13" - }, - "nativeSrc": "8969:88:13", - "nodeType": "YulFunctionCall", - "src": "8969:88:13" - }, - "nativeSrc": "8969:88:13", - "nodeType": "YulExpressionStatement", - "src": "8969:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "9073:1:13", - "nodeType": "YulLiteral", - "src": "9073:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "9076:4:13", - "nodeType": "YulLiteral", - "src": "9076:4:13", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "9066:6:13", - "nodeType": "YulIdentifier", - "src": "9066:6:13" - }, - "nativeSrc": "9066:15:13", - "nodeType": "YulFunctionCall", - "src": "9066:15:13" - }, - "nativeSrc": "9066:15:13", - "nodeType": "YulExpressionStatement", - "src": "9066:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "9097:1:13", - "nodeType": "YulLiteral", - "src": "9097:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "9100:4:13", - "nodeType": "YulLiteral", - "src": "9100:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "9090:6:13", - "nodeType": "YulIdentifier", - "src": "9090:6:13" - }, - "nativeSrc": "9090:15:13", - "nodeType": "YulFunctionCall", - "src": "9090:15:13" - }, - "nativeSrc": "9090:15:13", - "nodeType": "YulExpressionStatement", - "src": "9090:15:13" - } - ] - }, - "name": "panic_error_0x12", - "nativeSrc": "8931:180:13", - "nodeType": "YulFunctionDefinition", - "src": "8931:180:13" - }, - { - "body": { - "nativeSrc": "9162:81:13", - "nodeType": "YulBlock", - "src": "9162:81:13", - "statements": [ - { - "nativeSrc": "9172:65:13", - "nodeType": "YulAssignment", - "src": "9172:65:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "9187:5:13", - "nodeType": "YulIdentifier", - "src": "9187:5:13" - }, - { - "kind": "number", - "nativeSrc": "9194:42:13", - "nodeType": "YulLiteral", - "src": "9194:42:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "9183:3:13", - "nodeType": "YulIdentifier", - "src": "9183:3:13" - }, - "nativeSrc": "9183:54:13", - "nodeType": "YulFunctionCall", - "src": "9183:54:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "9172:7:13", - "nodeType": "YulIdentifier", - "src": "9172:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nativeSrc": "9117:126:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "9144:5:13", - "nodeType": "YulTypedName", - "src": "9144:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "9154:7:13", - "nodeType": "YulTypedName", - "src": "9154:7:13", - "type": "" - } - ], - "src": "9117:126:13" - }, - { - "body": { - "nativeSrc": "9294:51:13", - "nodeType": "YulBlock", - "src": "9294:51:13", - "statements": [ - { - "nativeSrc": "9304:35:13", - "nodeType": "YulAssignment", - "src": "9304:35:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "9333:5:13", - "nodeType": "YulIdentifier", - "src": "9333:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nativeSrc": "9315:17:13", - "nodeType": "YulIdentifier", - "src": "9315:17:13" - }, - "nativeSrc": "9315:24:13", - "nodeType": "YulFunctionCall", - "src": "9315:24:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "9304:7:13", - "nodeType": "YulIdentifier", - "src": "9304:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_address", - "nativeSrc": "9249:96:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "9276:5:13", - "nodeType": "YulTypedName", - "src": "9276:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "9286:7:13", - "nodeType": "YulTypedName", - "src": "9286:7:13", - "type": "" - } - ], - "src": "9249:96:13" - }, - { - "body": { - "nativeSrc": "9394:79:13", - "nodeType": "YulBlock", - "src": "9394:79:13", - "statements": [ - { - "body": { - "nativeSrc": "9451:16:13", - "nodeType": "YulBlock", - "src": "9451:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "9460:1:13", - "nodeType": "YulLiteral", - "src": "9460:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "9463:1:13", - "nodeType": "YulLiteral", - "src": "9463:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "9453:6:13", - "nodeType": "YulIdentifier", - "src": "9453:6:13" - }, - "nativeSrc": "9453:12:13", - "nodeType": "YulFunctionCall", - "src": "9453:12:13" - }, - "nativeSrc": "9453:12:13", - "nodeType": "YulExpressionStatement", - "src": "9453:12:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "9417:5:13", - "nodeType": "YulIdentifier", - "src": "9417:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "9442:5:13", - "nodeType": "YulIdentifier", - "src": "9442:5:13" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nativeSrc": "9424:17:13", - "nodeType": "YulIdentifier", - "src": "9424:17:13" - }, - "nativeSrc": "9424:24:13", - "nodeType": "YulFunctionCall", - "src": "9424:24:13" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "9414:2:13", - "nodeType": "YulIdentifier", - "src": "9414:2:13" - }, - "nativeSrc": "9414:35:13", - "nodeType": "YulFunctionCall", - "src": "9414:35:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "9407:6:13", - "nodeType": "YulIdentifier", - "src": "9407:6:13" - }, - "nativeSrc": "9407:43:13", - "nodeType": "YulFunctionCall", - "src": "9407:43:13" - }, - "nativeSrc": "9404:63:13", - "nodeType": "YulIf", - "src": "9404:63:13" - } - ] - }, - "name": "validator_revert_t_address", - "nativeSrc": "9351:122:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "9387:5:13", - "nodeType": "YulTypedName", - "src": "9387:5:13", - "type": "" - } - ], - "src": "9351:122:13" - }, - { - "body": { - "nativeSrc": "9531:87:13", - "nodeType": "YulBlock", - "src": "9531:87:13", - "statements": [ - { - "nativeSrc": "9541:29:13", - "nodeType": "YulAssignment", - "src": "9541:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "9563:6:13", - "nodeType": "YulIdentifier", - "src": "9563:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "9550:12:13", - "nodeType": "YulIdentifier", - "src": "9550:12:13" - }, - "nativeSrc": "9550:20:13", - "nodeType": "YulFunctionCall", - "src": "9550:20:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "9541:5:13", - "nodeType": "YulIdentifier", - "src": "9541:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nativeSrc": "9606:5:13", - "nodeType": "YulIdentifier", - "src": "9606:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nativeSrc": "9579:26:13", - "nodeType": "YulIdentifier", - "src": "9579:26:13" - }, - "nativeSrc": "9579:33:13", - "nodeType": "YulFunctionCall", - "src": "9579:33:13" - }, - "nativeSrc": "9579:33:13", - "nodeType": "YulExpressionStatement", - "src": "9579:33:13" - } - ] - }, - "name": "abi_decode_t_address", - "nativeSrc": "9479:139:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "9509:6:13", - "nodeType": "YulTypedName", - "src": "9509:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "9517:3:13", - "nodeType": "YulTypedName", - "src": "9517:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "9525:5:13", - "nodeType": "YulTypedName", - "src": "9525:5:13", - "type": "" - } - ], - "src": "9479:139:13" - }, - { - "body": { - "nativeSrc": "9690:263:13", - "nodeType": "YulBlock", - "src": "9690:263:13", - "statements": [ - { - "body": { - "nativeSrc": "9736:83:13", - "nodeType": "YulBlock", - "src": "9736:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "9738:77:13", - "nodeType": "YulIdentifier", - "src": "9738:77:13" - }, - "nativeSrc": "9738:79:13", - "nodeType": "YulFunctionCall", - "src": "9738:79:13" - }, - "nativeSrc": "9738:79:13", - "nodeType": "YulExpressionStatement", - "src": "9738:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "9711:7:13", - "nodeType": "YulIdentifier", - "src": "9711:7:13" - }, - { - "name": "headStart", - "nativeSrc": "9720:9:13", - "nodeType": "YulIdentifier", - "src": "9720:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "9707:3:13", - "nodeType": "YulIdentifier", - "src": "9707:3:13" - }, - "nativeSrc": "9707:23:13", - "nodeType": "YulFunctionCall", - "src": "9707:23:13" - }, - { - "kind": "number", - "nativeSrc": "9732:2:13", - "nodeType": "YulLiteral", - "src": "9732:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "9703:3:13", - "nodeType": "YulIdentifier", - "src": "9703:3:13" - }, - "nativeSrc": "9703:32:13", - "nodeType": "YulFunctionCall", - "src": "9703:32:13" - }, - "nativeSrc": "9700:119:13", - "nodeType": "YulIf", - "src": "9700:119:13" - }, - { - "nativeSrc": "9829:117:13", - "nodeType": "YulBlock", - "src": "9829:117:13", - "statements": [ - { - "nativeSrc": "9844:15:13", - "nodeType": "YulVariableDeclaration", - "src": "9844:15:13", - "value": { - "kind": "number", - "nativeSrc": "9858:1:13", - "nodeType": "YulLiteral", - "src": "9858:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "9848:6:13", - "nodeType": "YulTypedName", - "src": "9848:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "9873:63:13", - "nodeType": "YulAssignment", - "src": "9873:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "9908:9:13", - "nodeType": "YulIdentifier", - "src": "9908:9:13" - }, - { - "name": "offset", - "nativeSrc": "9919:6:13", - "nodeType": "YulIdentifier", - "src": "9919:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "9904:3:13", - "nodeType": "YulIdentifier", - "src": "9904:3:13" - }, - "nativeSrc": "9904:22:13", - "nodeType": "YulFunctionCall", - "src": "9904:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "9928:7:13", - "nodeType": "YulIdentifier", - "src": "9928:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nativeSrc": "9883:20:13", - "nodeType": "YulIdentifier", - "src": "9883:20:13" - }, - "nativeSrc": "9883:53:13", - "nodeType": "YulFunctionCall", - "src": "9883:53:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "9873:6:13", - "nodeType": "YulIdentifier", - "src": "9873:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nativeSrc": "9624:329:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "9660:9:13", - "nodeType": "YulTypedName", - "src": "9660:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "9671:7:13", - "nodeType": "YulTypedName", - "src": "9671:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "9683:6:13", - "nodeType": "YulTypedName", - "src": "9683:6:13", - "type": "" - } - ], - "src": "9624:329:13" - }, - { - "body": { - "nativeSrc": "10049:634:13", - "nodeType": "YulBlock", - "src": "10049:634:13", - "statements": [ - { - "nativeSrc": "10059:51:13", - "nodeType": "YulVariableDeclaration", - "src": "10059:51:13", - "value": { - "arguments": [ - { - "name": "ptr_to_tail", - "nativeSrc": "10098:11:13", - "nodeType": "YulIdentifier", - "src": "10098:11:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "10085:12:13", - "nodeType": "YulIdentifier", - "src": "10085:12:13" - }, - "nativeSrc": "10085:25:13", - "nodeType": "YulFunctionCall", - "src": "10085:25:13" - }, - "variables": [ - { - "name": "rel_offset_of_tail", - "nativeSrc": "10063:18:13", - "nodeType": "YulTypedName", - "src": "10063:18:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "10204:83:13", - "nodeType": "YulBlock", - "src": "10204:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", - "nativeSrc": "10206:77:13", - "nodeType": "YulIdentifier", - "src": "10206:77:13" - }, - "nativeSrc": "10206:79:13", - "nodeType": "YulFunctionCall", - "src": "10206:79:13" - }, - "nativeSrc": "10206:79:13", - "nodeType": "YulExpressionStatement", - "src": "10206:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "rel_offset_of_tail", - "nativeSrc": "10133:18:13", - "nodeType": "YulIdentifier", - "src": "10133:18:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nativeSrc": "10161:12:13", - "nodeType": "YulIdentifier", - "src": "10161:12:13" - }, - "nativeSrc": "10161:14:13", - "nodeType": "YulFunctionCall", - "src": "10161:14:13" - }, - { - "name": "base_ref", - "nativeSrc": "10177:8:13", - "nodeType": "YulIdentifier", - "src": "10177:8:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10157:3:13", - "nodeType": "YulIdentifier", - "src": "10157:3:13" - }, - "nativeSrc": "10157:29:13", - "nodeType": "YulFunctionCall", - "src": "10157:29:13" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "10192:4:13", - "nodeType": "YulLiteral", - "src": "10192:4:13", - "type": "", - "value": "0x20" - }, - { - "kind": "number", - "nativeSrc": "10198:1:13", - "nodeType": "YulLiteral", - "src": "10198:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10188:3:13", - "nodeType": "YulIdentifier", - "src": "10188:3:13" - }, - "nativeSrc": "10188:12:13", - "nodeType": "YulFunctionCall", - "src": "10188:12:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10153:3:13", - "nodeType": "YulIdentifier", - "src": "10153:3:13" - }, - "nativeSrc": "10153:48:13", - "nodeType": "YulFunctionCall", - "src": "10153:48:13" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "10129:3:13", - "nodeType": "YulIdentifier", - "src": "10129:3:13" - }, - "nativeSrc": "10129:73:13", - "nodeType": "YulFunctionCall", - "src": "10129:73:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "10122:6:13", - "nodeType": "YulIdentifier", - "src": "10122:6:13" - }, - "nativeSrc": "10122:81:13", - "nodeType": "YulFunctionCall", - "src": "10122:81:13" - }, - "nativeSrc": "10119:168:13", - "nodeType": "YulIf", - "src": "10119:168:13" - }, - { - "nativeSrc": "10296:41:13", - "nodeType": "YulAssignment", - "src": "10296:41:13", - "value": { - "arguments": [ - { - "name": "base_ref", - "nativeSrc": "10308:8:13", - "nodeType": "YulIdentifier", - "src": "10308:8:13" - }, - { - "name": "rel_offset_of_tail", - "nativeSrc": "10318:18:13", - "nodeType": "YulIdentifier", - "src": "10318:18:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "10304:3:13", - "nodeType": "YulIdentifier", - "src": "10304:3:13" - }, - "nativeSrc": "10304:33:13", - "nodeType": "YulFunctionCall", - "src": "10304:33:13" - }, - "variableNames": [ - { - "name": "addr", - "nativeSrc": "10296:4:13", - "nodeType": "YulIdentifier", - "src": "10296:4:13" - } - ] - }, - { - "nativeSrc": "10347:28:13", - "nodeType": "YulAssignment", - "src": "10347:28:13", - "value": { - "arguments": [ - { - "name": "addr", - "nativeSrc": "10370:4:13", - "nodeType": "YulIdentifier", - "src": "10370:4:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "10357:12:13", - "nodeType": "YulIdentifier", - "src": "10357:12:13" - }, - "nativeSrc": "10357:18:13", - "nodeType": "YulFunctionCall", - "src": "10357:18:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "10347:6:13", - "nodeType": "YulIdentifier", - "src": "10347:6:13" - } - ] - }, - { - "body": { - "nativeSrc": "10418:83:13", - "nodeType": "YulBlock", - "src": "10418:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", - "nativeSrc": "10420:77:13", - "nodeType": "YulIdentifier", - "src": "10420:77:13" - }, - "nativeSrc": "10420:79:13", - "nodeType": "YulFunctionCall", - "src": "10420:79:13" - }, - "nativeSrc": "10420:79:13", - "nodeType": "YulExpressionStatement", - "src": "10420:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nativeSrc": "10390:6:13", - "nodeType": "YulIdentifier", - "src": "10390:6:13" - }, - { - "kind": "number", - "nativeSrc": "10398:18:13", - "nodeType": "YulLiteral", - "src": "10398:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "10387:2:13", - "nodeType": "YulIdentifier", - "src": "10387:2:13" - }, - "nativeSrc": "10387:30:13", - "nodeType": "YulFunctionCall", - "src": "10387:30:13" - }, - "nativeSrc": "10384:117:13", - "nodeType": "YulIf", - "src": "10384:117:13" - }, - { - "nativeSrc": "10510:21:13", - "nodeType": "YulAssignment", - "src": "10510:21:13", - "value": { - "arguments": [ - { - "name": "addr", - "nativeSrc": "10522:4:13", - "nodeType": "YulIdentifier", - "src": "10522:4:13" - }, - { - "kind": "number", - "nativeSrc": "10528:2:13", - "nodeType": "YulLiteral", - "src": "10528:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "10518:3:13", - "nodeType": "YulIdentifier", - "src": "10518:3:13" - }, - "nativeSrc": "10518:13:13", - "nodeType": "YulFunctionCall", - "src": "10518:13:13" - }, - "variableNames": [ - { - "name": "addr", - "nativeSrc": "10510:4:13", - "nodeType": "YulIdentifier", - "src": "10510:4:13" - } - ] - }, - { - "body": { - "nativeSrc": "10593:83:13", - "nodeType": "YulBlock", - "src": "10593:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", - "nativeSrc": "10595:77:13", - "nodeType": "YulIdentifier", - "src": "10595:77:13" - }, - "nativeSrc": "10595:79:13", - "nodeType": "YulFunctionCall", - "src": "10595:79:13" - }, - "nativeSrc": "10595:79:13", - "nodeType": "YulExpressionStatement", - "src": "10595:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "addr", - "nativeSrc": "10547:4:13", - "nodeType": "YulIdentifier", - "src": "10547:4:13" - }, - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nativeSrc": "10557:12:13", - "nodeType": "YulIdentifier", - "src": "10557:12:13" - }, - "nativeSrc": "10557:14:13", - "nodeType": "YulFunctionCall", - "src": "10557:14:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "10577:6:13", - "nodeType": "YulIdentifier", - "src": "10577:6:13" - }, - { - "kind": "number", - "nativeSrc": "10585:4:13", - "nodeType": "YulLiteral", - "src": "10585:4:13", - "type": "", - "value": "0x01" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "10573:3:13", - "nodeType": "YulIdentifier", - "src": "10573:3:13" - }, - "nativeSrc": "10573:17:13", - "nodeType": "YulFunctionCall", - "src": "10573:17:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10553:3:13", - "nodeType": "YulIdentifier", - "src": "10553:3:13" - }, - "nativeSrc": "10553:38:13", - "nodeType": "YulFunctionCall", - "src": "10553:38:13" - } - ], - "functionName": { - "name": "sgt", - "nativeSrc": "10543:3:13", - "nodeType": "YulIdentifier", - "src": "10543:3:13" - }, - "nativeSrc": "10543:49:13", - "nodeType": "YulFunctionCall", - "src": "10543:49:13" - }, - "nativeSrc": "10540:136:13", - "nodeType": "YulIf", - "src": "10540:136:13" - } - ] - }, - "name": "access_calldata_tail_t_bytes_calldata_ptr", - "nativeSrc": "9959:724:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base_ref", - "nativeSrc": "10010:8:13", - "nodeType": "YulTypedName", - "src": "10010:8:13", - "type": "" - }, - { - "name": "ptr_to_tail", - "nativeSrc": "10020:11:13", - "nodeType": "YulTypedName", - "src": "10020:11:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "addr", - "nativeSrc": "10036:4:13", - "nodeType": "YulTypedName", - "src": "10036:4:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "10042:6:13", - "nodeType": "YulTypedName", - "src": "10042:6:13", - "type": "" - } - ], - "src": "9959:724:13" - }, - { - "body": { - "nativeSrc": "10752:80:13", - "nodeType": "YulBlock", - "src": "10752:80:13", - "statements": [ - { - "nativeSrc": "10762:22:13", - "nodeType": "YulAssignment", - "src": "10762:22:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "10777:6:13", - "nodeType": "YulIdentifier", - "src": "10777:6:13" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "10771:5:13", - "nodeType": "YulIdentifier", - "src": "10771:5:13" - }, - "nativeSrc": "10771:13:13", - "nodeType": "YulFunctionCall", - "src": "10771:13:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "10762:5:13", - "nodeType": "YulIdentifier", - "src": "10762:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nativeSrc": "10820:5:13", - "nodeType": "YulIdentifier", - "src": "10820:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nativeSrc": "10793:26:13", - "nodeType": "YulIdentifier", - "src": "10793:26:13" - }, - "nativeSrc": "10793:33:13", - "nodeType": "YulFunctionCall", - "src": "10793:33:13" - }, - "nativeSrc": "10793:33:13", - "nodeType": "YulExpressionStatement", - "src": "10793:33:13" - } - ] - }, - "name": "abi_decode_t_address_fromMemory", - "nativeSrc": "10689:143:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "10730:6:13", - "nodeType": "YulTypedName", - "src": "10730:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "10738:3:13", - "nodeType": "YulTypedName", - "src": "10738:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "10746:5:13", - "nodeType": "YulTypedName", - "src": "10746:5:13", - "type": "" - } - ], - "src": "10689:143:13" - }, - { - "body": { - "nativeSrc": "10915:274:13", - "nodeType": "YulBlock", - "src": "10915:274:13", - "statements": [ - { - "body": { - "nativeSrc": "10961:83:13", - "nodeType": "YulBlock", - "src": "10961:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "10963:77:13", - "nodeType": "YulIdentifier", - "src": "10963:77:13" - }, - "nativeSrc": "10963:79:13", - "nodeType": "YulFunctionCall", - "src": "10963:79:13" - }, - "nativeSrc": "10963:79:13", - "nodeType": "YulExpressionStatement", - "src": "10963:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "10936:7:13", - "nodeType": "YulIdentifier", - "src": "10936:7:13" - }, - { - "name": "headStart", - "nativeSrc": "10945:9:13", - "nodeType": "YulIdentifier", - "src": "10945:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10932:3:13", - "nodeType": "YulIdentifier", - "src": "10932:3:13" - }, - "nativeSrc": "10932:23:13", - "nodeType": "YulFunctionCall", - "src": "10932:23:13" - }, - { - "kind": "number", - "nativeSrc": "10957:2:13", - "nodeType": "YulLiteral", - "src": "10957:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "10928:3:13", - "nodeType": "YulIdentifier", - "src": "10928:3:13" - }, - "nativeSrc": "10928:32:13", - "nodeType": "YulFunctionCall", - "src": "10928:32:13" - }, - "nativeSrc": "10925:119:13", - "nodeType": "YulIf", - "src": "10925:119:13" - }, - { - "nativeSrc": "11054:128:13", - "nodeType": "YulBlock", - "src": "11054:128:13", - "statements": [ - { - "nativeSrc": "11069:15:13", - "nodeType": "YulVariableDeclaration", - "src": "11069:15:13", - "value": { - "kind": "number", - "nativeSrc": "11083:1:13", - "nodeType": "YulLiteral", - "src": "11083:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "11073:6:13", - "nodeType": "YulTypedName", - "src": "11073:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "11098:74:13", - "nodeType": "YulAssignment", - "src": "11098:74:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "11144:9:13", - "nodeType": "YulIdentifier", - "src": "11144:9:13" - }, - { - "name": "offset", - "nativeSrc": "11155:6:13", - "nodeType": "YulIdentifier", - "src": "11155:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11140:3:13", - "nodeType": "YulIdentifier", - "src": "11140:3:13" - }, - "nativeSrc": "11140:22:13", - "nodeType": "YulFunctionCall", - "src": "11140:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "11164:7:13", - "nodeType": "YulIdentifier", - "src": "11164:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_address_fromMemory", - "nativeSrc": "11108:31:13", - "nodeType": "YulIdentifier", - "src": "11108:31:13" - }, - "nativeSrc": "11108:64:13", - "nodeType": "YulFunctionCall", - "src": "11108:64:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "11098:6:13", - "nodeType": "YulIdentifier", - "src": "11098:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nativeSrc": "10838:351:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "10885:9:13", - "nodeType": "YulTypedName", - "src": "10885:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "10896:7:13", - "nodeType": "YulTypedName", - "src": "10896:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "10908:6:13", - "nodeType": "YulTypedName", - "src": "10908:6:13", - "type": "" - } - ], - "src": "10838:351:13" - }, - { - "body": { - "nativeSrc": "11301:58:13", - "nodeType": "YulBlock", - "src": "11301:58:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "11323:6:13", - "nodeType": "YulIdentifier", - "src": "11323:6:13" - }, - { - "kind": "number", - "nativeSrc": "11331:1:13", - "nodeType": "YulLiteral", - "src": "11331:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11319:3:13", - "nodeType": "YulIdentifier", - "src": "11319:3:13" - }, - "nativeSrc": "11319:14:13", - "nodeType": "YulFunctionCall", - "src": "11319:14:13" - }, - { - "hexValue": "4461746120746f6f2073686f7274", - "kind": "string", - "nativeSrc": "11335:16:13", - "nodeType": "YulLiteral", - "src": "11335:16:13", - "type": "", - "value": "Data too short" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "11312:6:13", - "nodeType": "YulIdentifier", - "src": "11312:6:13" - }, - "nativeSrc": "11312:40:13", - "nodeType": "YulFunctionCall", - "src": "11312:40:13" - }, - "nativeSrc": "11312:40:13", - "nodeType": "YulExpressionStatement", - "src": "11312:40:13" - } - ] - }, - "name": "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", - "nativeSrc": "11195:164:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "11293:6:13", - "nodeType": "YulTypedName", - "src": "11293:6:13", - "type": "" - } - ], - "src": "11195:164:13" - }, - { - "body": { - "nativeSrc": "11511:220:13", - "nodeType": "YulBlock", - "src": "11511:220:13", - "statements": [ - { - "nativeSrc": "11521:74:13", - "nodeType": "YulAssignment", - "src": "11521:74:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "11587:3:13", - "nodeType": "YulIdentifier", - "src": "11587:3:13" - }, - { - "kind": "number", - "nativeSrc": "11592:2:13", - "nodeType": "YulLiteral", - "src": "11592:2:13", - "type": "", - "value": "14" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "11528:58:13", - "nodeType": "YulIdentifier", - "src": "11528:58:13" - }, - "nativeSrc": "11528:67:13", - "nodeType": "YulFunctionCall", - "src": "11528:67:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "11521:3:13", - "nodeType": "YulIdentifier", - "src": "11521:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "11693:3:13", - "nodeType": "YulIdentifier", - "src": "11693:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", - "nativeSrc": "11604:88:13", - "nodeType": "YulIdentifier", - "src": "11604:88:13" - }, - "nativeSrc": "11604:93:13", - "nodeType": "YulFunctionCall", - "src": "11604:93:13" - }, - "nativeSrc": "11604:93:13", - "nodeType": "YulExpressionStatement", - "src": "11604:93:13" - }, - { - "nativeSrc": "11706:19:13", - "nodeType": "YulAssignment", - "src": "11706:19:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "11717:3:13", - "nodeType": "YulIdentifier", - "src": "11717:3:13" - }, - { - "kind": "number", - "nativeSrc": "11722:2:13", - "nodeType": "YulLiteral", - "src": "11722:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11713:3:13", - "nodeType": "YulIdentifier", - "src": "11713:3:13" - }, - "nativeSrc": "11713:12:13", - "nodeType": "YulFunctionCall", - "src": "11713:12:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "11706:3:13", - "nodeType": "YulIdentifier", - "src": "11706:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack", - "nativeSrc": "11365:366:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "11499:3:13", - "nodeType": "YulTypedName", - "src": "11499:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "11507:3:13", - "nodeType": "YulTypedName", - "src": "11507:3:13", - "type": "" - } - ], - "src": "11365:366:13" - }, - { - "body": { - "nativeSrc": "11908:248:13", - "nodeType": "YulBlock", - "src": "11908:248:13", - "statements": [ - { - "nativeSrc": "11918:26:13", - "nodeType": "YulAssignment", - "src": "11918:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "11930:9:13", - "nodeType": "YulIdentifier", - "src": "11930:9:13" - }, - { - "kind": "number", - "nativeSrc": "11941:2:13", - "nodeType": "YulLiteral", - "src": "11941:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11926:3:13", - "nodeType": "YulIdentifier", - "src": "11926:3:13" - }, - "nativeSrc": "11926:18:13", - "nodeType": "YulFunctionCall", - "src": "11926:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "11918:4:13", - "nodeType": "YulIdentifier", - "src": "11918:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "11965:9:13", - "nodeType": "YulIdentifier", - "src": "11965:9:13" - }, - { - "kind": "number", - "nativeSrc": "11976:1:13", - "nodeType": "YulLiteral", - "src": "11976:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11961:3:13", - "nodeType": "YulIdentifier", - "src": "11961:3:13" - }, - "nativeSrc": "11961:17:13", - "nodeType": "YulFunctionCall", - "src": "11961:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "11984:4:13", - "nodeType": "YulIdentifier", - "src": "11984:4:13" - }, - { - "name": "headStart", - "nativeSrc": "11990:9:13", - "nodeType": "YulIdentifier", - "src": "11990:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "11980:3:13", - "nodeType": "YulIdentifier", - "src": "11980:3:13" - }, - "nativeSrc": "11980:20:13", - "nodeType": "YulFunctionCall", - "src": "11980:20:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "11954:6:13", - "nodeType": "YulIdentifier", - "src": "11954:6:13" - }, - "nativeSrc": "11954:47:13", - "nodeType": "YulFunctionCall", - "src": "11954:47:13" - }, - "nativeSrc": "11954:47:13", - "nodeType": "YulExpressionStatement", - "src": "11954:47:13" - }, - { - "nativeSrc": "12010:139:13", - "nodeType": "YulAssignment", - "src": "12010:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "12144:4:13", - "nodeType": "YulIdentifier", - "src": "12144:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack", - "nativeSrc": "12018:124:13", - "nodeType": "YulIdentifier", - "src": "12018:124:13" - }, - "nativeSrc": "12018:131:13", - "nodeType": "YulFunctionCall", - "src": "12018:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "12010:4:13", - "nodeType": "YulIdentifier", - "src": "12010:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "11737:419:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "11888:9:13", - "nodeType": "YulTypedName", - "src": "11888:9:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "11903:4:13", - "nodeType": "YulTypedName", - "src": "11903:4:13", - "type": "" - } - ], - "src": "11737:419:13" - } - ] - }, - "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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 copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\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_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 Attestation[]\n function abi_decode_t_array$_t_struct$_Attestation_$1641_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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_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 value2, value3 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\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 revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct Attestation\n function abi_decode_t_struct$_Attestation_$1641_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 320) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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$_Attestation_$1641_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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 store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(memPtr) {\n\n mstore(add(memPtr, 0), \".\")\n\n }\n\n function abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(pos)\n end := add(pos, 1)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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$_Attestation_$1641_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(0x0140, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\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(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\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 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 abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_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_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94(memPtr) {\n\n mstore(add(memPtr, 0), \"Data too short\")\n\n }\n\n function abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__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_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", - "id": 13, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": { - "2113": [ - { - "length": 32, - "start": 1414 - } - ], - "2425": [ - { - "length": 32, - "start": 448 - } - ], - "2427": [ - { - "length": 32, - "start": 489 - } - ], - "2429": [ - { - "length": 32, - "start": 530 - } - ] - }, - "linkReferences": {}, - "object": "608060405260043610610058575f3560e01c806354fd4d50146100a157806388e5b2d9146100cb57806391db0b7e146100fb578063ce46e0461461012b578063e49617e114610155578063e60c3505146101855761009d565b3661009d576100656101b5565b61009b576040517f1574f9f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b3480156100ac575f80fd5b506100b56101b9565b6040516100c29190610a5f565b60405180910390f35b6100e560048036038101906100e09190610b3d565b61025c565b6040516100f29190610bd5565b60405180910390f35b61011560048036038101906101109190610b3d565b610371565b6040516101229190610bd5565b60405180910390f35b348015610136575f80fd5b5061013f6101b5565b60405161014c9190610bd5565b60405180910390f35b61016f600480360381019061016a9190610c11565b610486565b60405161017c9190610bd5565b60405180910390f35b61019f600480360381019061019a9190610c11565b6104a0565b6040516101ac9190610bd5565b60405180910390f35b5f90565b60606101e47f00000000000000000000000000000000000000000000000000000000000000006104ba565b61020d7f00000000000000000000000000000000000000000000000000000000000000006104ba565b6102367f00000000000000000000000000000000000000000000000000000000000000006104ba565b60405160200161024893929190610cdc565b604051602081830303815290604052905090565b5f610265610584565b5f8585905090508383905081146102a8576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610361575f8686838181106102ca576102c9610d22565b5b9050602002013590508281111561030d576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033b89898481811061032357610322610d22565b5b90506020028101906103359190610d5b565b8261060b565b61034b575f945050505050610369565b80830392505061035a81610616565b90506102ae565b506001925050505b949350505050565b5f61037a610584565b5f8585905090508383905081146103bd576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610476575f8686838181106103df576103de610d22565b5b90506020020135905082811115610422576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045089898481811061043857610437610d22565b5b905060200281019061044a9190610d5b565b82610622565b610460575f94505050505061047e565b80830392505061046f81610616565b90506103c3565b506001925050505b949350505050565b5f61048f610584565b610499823461060b565b9050919050565b5f6104a9610584565b6104b38234610622565b9050919050565b60605f60016104c88461082e565b0190505f8167ffffffffffffffff8111156104e6576104e5610d83565b5b6040519080825280601f01601f1916602001820160405280156105185781602001600182028036833780820191505090505b5090505f82602001820190505b600115610579578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161056e5761056d610db0565b5b0494505f8503610525575b819350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610609576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6001905092915050565b5f600182019050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168360c001602081019061064d9190610e37565b73ffffffffffffffffffffffffffffffffffffffff16036106715760019050610828565b5f8360c00160208101906106859190610e37565b73ffffffffffffffffffffffffffffffffffffffff163b036106a9575f9050610828565b5f610705848061012001906106be9190610e62565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061097f565b90508073ffffffffffffffffffffffffffffffffffffffff168460c00160208101906107319190610e37565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f915050610828565b5f8460c00160208101906107699190610e37565b90508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107d357506040513d601f19601f820116820180604052508101906107d09190610ed8565b60015b6107e1575f92505050610828565b8073ffffffffffffffffffffffffffffffffffffffff168660e001602081019061080b9190610e37565b73ffffffffffffffffffffffffffffffffffffffff161493505050505b92915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061088a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816108805761087f610db0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106108c7576d04ee2d6d415b85acef810000000083816108bd576108bc610db0565b5b0492506020810190505b662386f26fc1000083106108f657662386f26fc1000083816108ec576108eb610db0565b5b0492506010810190505b6305f5e100831061091f576305f5e100838161091557610914610db0565b5b0492506008810190505b612710831061094457612710838161093a57610939610db0565b5b0492506004810190505b60648310610967576064838161095d5761095c610db0565b5b0492506002810190505b600a8310610976576001810190505b80915050919050565b5f6020825110156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90610f4d565b60405180910390fd5b5f6020830151905073ffffffffffffffffffffffffffffffffffffffff8116905080915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610a31826109ef565b610a3b81856109f9565b9350610a4b818560208601610a09565b610a5481610a17565b840191505092915050565b5f6020820190508181035f830152610a778184610a27565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610aa857610aa7610a87565b5b8235905067ffffffffffffffff811115610ac557610ac4610a8b565b5b602083019150836020820283011115610ae157610ae0610a8f565b5b9250929050565b5f8083601f840112610afd57610afc610a87565b5b8235905067ffffffffffffffff811115610b1a57610b19610a8b565b5b602083019150836020820283011115610b3657610b35610a8f565b5b9250929050565b5f805f8060408587031215610b5557610b54610a7f565b5b5f85013567ffffffffffffffff811115610b7257610b71610a83565b5b610b7e87828801610a93565b9450945050602085013567ffffffffffffffff811115610ba157610ba0610a83565b5b610bad87828801610ae8565b925092505092959194509250565b5f8115159050919050565b610bcf81610bbb565b82525050565b5f602082019050610be85f830184610bc6565b92915050565b5f80fd5b5f6101408284031215610c0857610c07610bee565b5b81905092915050565b5f60208284031215610c2657610c25610a7f565b5b5f82013567ffffffffffffffff811115610c4357610c42610a83565b5b610c4f84828501610bf2565b91505092915050565b5f81905092915050565b5f610c6c826109ef565b610c768185610c58565b9350610c86818560208601610a09565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610cc6600183610c58565b9150610cd182610c92565b600182019050919050565b5f610ce78286610c62565b9150610cf282610cba565b9150610cfe8285610c62565b9150610d0982610cba565b9150610d158284610c62565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f8235600161014003833603038112610d7757610d76610d4f565b5b80830191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0682610ddd565b9050919050565b610e1681610dfc565b8114610e20575f80fd5b50565b5f81359050610e3181610e0d565b92915050565b5f60208284031215610e4c57610e4b610a7f565b5b5f610e5984828501610e23565b91505092915050565b5f8083356001602003843603038112610e7e57610e7d610d4f565b5b80840192508235915067ffffffffffffffff821115610ea057610e9f610d53565b5b602083019250600182023603831315610ebc57610ebb610d57565b5b509250929050565b5f81519050610ed281610e0d565b92915050565b5f60208284031215610eed57610eec610a7f565b5b5f610efa84828501610ec4565b91505092915050565b7f4461746120746f6f2073686f72740000000000000000000000000000000000005f82015250565b5f610f37600e836109f9565b9150610f4282610f03565b602082019050919050565b5f6020820190508181035f830152610f6481610f2b565b905091905056fea2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x58 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x88E5B2D9 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x91DB0B7E EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xCE46E046 EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0xE49617E1 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0xE60C3505 EQ PUSH2 0x185 JUMPI PUSH2 0x9D JUMP JUMPDEST CALLDATASIZE PUSH2 0x9D JUMPI PUSH2 0x65 PUSH2 0x1B5 JUMP JUMPDEST PUSH2 0x9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x1574F9F300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xA5F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0xB3D JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0xBD5 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 0xB3D JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x13F PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x486 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1E4 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x20D PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x236 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH2 0x265 PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x361 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x2CA JUMPI PUSH2 0x2C9 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x33B DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x335 SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x60B JUMP JUMPDEST PUSH2 0x34B JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x369 JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x35A DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x37A PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x3BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x3DF JUMPI PUSH2 0x3DE PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x422 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x450 DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x438 JUMPI PUSH2 0x437 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x44A SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x460 JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x47E JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x46F DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x3C3 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48F PUSH2 0x584 JUMP JUMPDEST PUSH2 0x499 DUP3 CALLVALUE PUSH2 0x60B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x4A9 PUSH2 0x584 JUMP JUMPDEST PUSH2 0x4B3 DUP3 CALLVALUE PUSH2 0x622 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0x4C8 DUP5 PUSH2 0x82E JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E6 JUMPI PUSH2 0x4E5 PUSH2 0xD83 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x579 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x525 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4CA8886700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x671 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x685 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0x6A9 JUMPI PUSH0 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 PUSH2 0x705 DUP5 DUP1 PUSH2 0x120 ADD SWAP1 PUSH2 0x6BE SWAP2 SWAP1 PUSH2 0xE62 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 PUSH0 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 PUSH2 0x97F JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x731 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x755 JUMPI PUSH0 SWAP2 POP POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x769 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x7D3 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x7E1 JUMPI PUSH0 SWAP3 POP POP POP PUSH2 0x828 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH1 0xE0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x80B SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x88A JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x880 JUMPI PUSH2 0x87F PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x8C7 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x8BD JUMPI PUSH2 0x8BC PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x8F6 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x8EC JUMPI PUSH2 0x8EB PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x91F JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x915 JUMPI PUSH2 0x914 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x944 JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x967 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x95D JUMPI PUSH2 0x95C PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x976 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 MLOAD LT ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BC SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x20 DUP4 ADD MLOAD SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA31 DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xA3B DUP2 DUP6 PUSH2 0x9F9 JUMP JUMPDEST SWAP4 POP PUSH2 0xA4B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0xA17 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA77 DUP2 DUP5 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAA8 JUMPI PUSH2 0xAA7 PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAC5 JUMPI PUSH2 0xAC4 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAE1 JUMPI PUSH2 0xAE0 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAFD JUMPI PUSH2 0xAFC PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xB36 JUMPI PUSH2 0xB35 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB55 JUMPI PUSH2 0xB54 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB72 JUMPI PUSH2 0xB71 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xB7E DUP8 DUP3 DUP9 ADD PUSH2 0xA93 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xBAD DUP8 DUP3 DUP9 ADD PUSH2 0xAE8 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCF DUP2 PUSH2 0xBBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH0 DUP4 ADD DUP5 PUSH2 0xBC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH2 0x140 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC08 JUMPI PUSH2 0xC07 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC43 JUMPI PUSH2 0xC42 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xC4F DUP5 DUP3 DUP6 ADD PUSH2 0xBF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6C DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xC76 DUP2 DUP6 PUSH2 0xC58 JUMP JUMPDEST SWAP4 POP PUSH2 0xC86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xCC6 PUSH1 0x1 DUP4 PUSH2 0xC58 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD1 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCE7 DUP3 DUP7 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xCF2 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xCFE DUP3 DUP6 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xD09 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xD15 DUP3 DUP5 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH2 0x140 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD77 JUMPI PUSH2 0xD76 PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE06 DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE16 DUP2 PUSH2 0xDFC JUMP JUMPDEST DUP2 EQ PUSH2 0xE20 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE31 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4C JUMPI PUSH2 0xE4B PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE59 DUP5 DUP3 DUP6 ADD PUSH2 0xE23 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xE7E JUMPI PUSH2 0xE7D PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xD53 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xD57 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xED2 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEED JUMPI PUSH2 0xEEC PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEFA DUP5 DUP3 DUP6 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4461746120746F6F2073686F7274000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xF37 PUSH1 0xE DUP4 PUSH2 0x9F9 JUMP JUMPDEST SWAP2 POP PUSH2 0xF42 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF64 DUP2 PUSH2 0xF2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE SWAP12 0xB2 0xC6 SWAP2 0xEB PUSH11 0x4020C67F4FBBD742291EF MUL TLOAD 0xD4 0xD0 SWAP11 SWAP5 GAS 0x4D NOT INVALID SELFDESTRUCT RETURNDATACOPY 0x4E PUSH3 0x64736F PUSH13 0x634300081A0033000000000000 ", - "sourceMap": "344:2067:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1140:11:10;:9;:11::i;:::-;1135:62;;1174:12;;;;;;;;;;;;;;1135:62;344:2067:12;;;;;945:235:11;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3124:1460:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1433:1461;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2936:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1245;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:85;1022:4;972:85;:::o;945:235:11:-;987:13;1072:24;1089:6;1072:16;:24::i;:::-;1103;1120:6;1103:16;:24::i;:::-;1134;1151:6;1134:16;:24::i;:::-;1055:104;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1012:161;;945:235;:::o;3124:1460:10:-;3265:4;901:10;:8;:10::i;:::-;3281:14:::1;3298:12;;:19;;3281:36;;3341:6;;:13;;3331:6;:23;3327:76;;3377:15;;;;;;;;;;;;;;3327:76;3810:22;3835:9;3810:34;;3860:9;3855:701;3879:6;3875:1;:10;3855:701;;;4012:13;4028:6;;4035:1;4028:9;;;;;;;:::i;:::-;;;;;;;;4012:25;;4063:14;4055:5;:22;4051:87;;;4104:19;;;;;;;;;;;;;;4051:87;4266:32;4275:12;;4288:1;4275:15;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;4292:5;4266:8;:32::i;:::-;4261:84;;4325:5;4318:12;;;;;;;;4261:84;4526:5;4508:23;;;;3908:648;3891:15;3904:1;3891:12;:15::i;:::-;3887:19;;3855:701;;;;4573:4;4566:11;;;;922:1;3124:1460:::0;;;;;;:::o;1433:1461::-;1574:4;901:10;:8;:10::i;:::-;1590:14:::1;1607:12;;:19;;1590:36;;1650:6;;:13;;1640:6;:23;1636:76;;1686:15;;;;;;;;;;;;;;1636:76;2119:22;2144:9;2119:34;;2169:9;2164:702;2188:6;2184:1;:10;2164:702;;;2321:13;2337:6;;2344:1;2337:9;;;;;;;:::i;:::-;;;;;;;;2321:25;;2372:14;2364:5;:22;2360:87;;;2413:19;;;;;;;;;;;;;;2360:87;2576:32;2585:12;;2598:1;2585:15;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2602:5;2576:8;:32::i;:::-;2571:84;;2635:5;2628:12;;;;;;;;2571:84;2836:5;2818:23;;;;2217:649;2200:15;2213:1;2200:12;:15::i;:::-;2196:19;;2164:702;;;;2883:4;2876:11;;;;922:1;1433:1461:::0;;;;;;:::o;2936:146::-;3020:4;901:10;:8;:10::i;:::-;3043:32:::1;3052:11;3065:9;3043:8;:32::i;:::-;3036:39;;2936:146:::0;;;:::o;1245:::-;1329:4;901:10;:8;:10::i;:::-;1352:32:::1;1361:11;1374:9;1352:8;:32::i;:::-;1345:39;;1245:146:::0;;;:::o;637:698:2:-;693:13;742:14;779:1;759:17;770:5;759:10;:17::i;:::-;:21;742:38;;794:20;828:6;817:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:41;;849:11;975:6;971:2;967:15;959:6;955:28;948:35;;1010:282;1017:4;1010:282;;;1041:5;;;;;;;;1180:10;1175:2;1168:5;1164:14;1159:32;1154:3;1146:46;1236:2;1227:11;;;;;;:::i;:::-;;;;;1269:1;1260:5;:10;1010:282;1256:21;1010:282;1312:6;1305:13;;;;;637:698;;;:::o;6031:128:10:-;6100:4;6078:27;;:10;:27;;;6074:79;;6128:14;;;;;;;;;;;;;;6074:79;6031:128::o;2268:141:12:-;2375:4;2398;2391:11;;2268:141;;;;:::o;1397:102:5:-;1444:9;1489:1;1485;:5;1481:9;;1397:102;;;:::o;450:1192:12:-;553:4;697:1;664:35;;:11;:21;;;;;;;;;;:::i;:::-;:35;;;660:77;;722:4;715:11;;;;660:77;848:1;811:11;:21;;;;;;;;;;:::i;:::-;:33;;;:38;807:81;;872:5;865:12;;;;807:81;954:16;973:40;996:11;:16;;;;;;;;:::i;:::-;973:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:22;:40::i;:::-;954:59;;1153:8;1128:33;;:11;:21;;;;;;;;;;:::i;:::-;:33;;;1124:76;;1184:5;1177:12;;;;;1124:76;1266:23;1300:11;:21;;;;;;;;;;:::i;:::-;1266:56;;1337:15;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1333:303;;1620:5;1613:12;;;;;;1333:303;1494:5;1470:29;;:11;:20;;;;;;;;;;:::i;:::-;:29;;;1463:36;;;;;450:1192;;;;;:::o;12214:916:3:-;12267:7;12286:14;12303:1;12286:18;;12351:8;12342:5;:17;12338:103;;12388:8;12379:17;;;;;;:::i;:::-;;;;;12424:2;12414:12;;;;12338:103;12467:8;12458:5;:17;12454:103;;12504:8;12495:17;;;;;;:::i;:::-;;;;;12540:2;12530:12;;;;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;;;;:::i;:::-;;;;;12656:2;12646:12;;;;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;;;;:::i;:::-;;;;;12770:1;12760:11;;;;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;;;;:::i;:::-;;;;;12883:1;12873:11;;;;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;;;;:::i;:::-;;;;;12996:1;12986:11;;;;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;;;;13025:66;13117:6;13110:13;;;12214:916;;;:::o;1648:613:12:-;1722:7;1764:2;1749:4;:11;:17;;1741:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1897:24;1990:2;1984:4;1980:13;1974:20;1954:40;;2118:42;2100:16;2096:65;2076:85;;2238:16;2231:23;;;1648:613;;;:::o;7:99:13:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:117;1678:1;1675;1668:12;1692:117;1801:1;1798;1791:12;1815:117;1924:1;1921;1914:12;1966:599;2070:8;2080:6;2130:3;2123:4;2115:6;2111:17;2107:27;2097:122;;2138:79;;:::i;:::-;2097:122;2251:6;2238:20;2228:30;;2281:18;2273:6;2270:30;2267:117;;;2303:79;;:::i;:::-;2267:117;2417:4;2409:6;2405:17;2393:29;;2471:3;2463:4;2455:6;2451:17;2441:8;2437:32;2434:41;2431:128;;;2478:79;;:::i;:::-;2431:128;1966:599;;;;;:::o;2588:568::-;2661:8;2671:6;2721:3;2714:4;2706:6;2702:17;2698:27;2688:122;;2729:79;;:::i;:::-;2688:122;2842:6;2829:20;2819:30;;2872:18;2864:6;2861:30;2858:117;;;2894:79;;:::i;:::-;2858:117;3008:4;3000:6;2996:17;2984:29;;3062:3;3054:4;3046:6;3042:17;3032:8;3028:32;3025:41;3022:128;;;3069:79;;:::i;:::-;3022:128;2588:568;;;;;:::o;3162:996::-;3315:6;3323;3331;3339;3388:2;3376:9;3367:7;3363:23;3359:32;3356:119;;;3394:79;;:::i;:::-;3356:119;3542:1;3531:9;3527:17;3514:31;3572:18;3564:6;3561:30;3558:117;;;3594:79;;:::i;:::-;3558:117;3707:111;3810:7;3801:6;3790:9;3786:22;3707:111;:::i;:::-;3689:129;;;;3485:343;3895:2;3884:9;3880:18;3867:32;3926:18;3918:6;3915:30;3912:117;;;3948:79;;:::i;:::-;3912:117;4061:80;4133:7;4124:6;4113:9;4109:22;4061:80;:::i;:::-;4043:98;;;;3838:313;3162:996;;;;;;;:::o;4164:90::-;4198:7;4241:5;4234:13;4227:21;4216:32;;4164:90;;;:::o;4260:109::-;4341:21;4356:5;4341:21;:::i;:::-;4336:3;4329:34;4260:109;;:::o;4375:210::-;4462:4;4500:2;4489:9;4485:18;4477:26;;4513:65;4575:1;4564:9;4560:17;4551:6;4513:65;:::i;:::-;4375:210;;;;:::o;4591:117::-;4700:1;4697;4690:12;4740:236;4817:5;4858:3;4849:6;4844:3;4840:16;4836:26;4833:113;;;4865:79;;:::i;:::-;4833:113;4964:6;4955:15;;4740:236;;;;:::o;4982:551::-;5072:6;5121:2;5109:9;5100:7;5096:23;5092:32;5089:119;;;5127:79;;:::i;:::-;5089:119;5275:1;5264:9;5260:17;5247:31;5305:18;5297:6;5294:30;5291:117;;;5327:79;;:::i;:::-;5291:117;5432:84;5508:7;5499:6;5488:9;5484:22;5432:84;:::i;:::-;5422:94;;5218:308;4982:551;;;;:::o;5539:148::-;5641:11;5678:3;5663:18;;5539:148;;;;:::o;5693:390::-;5799:3;5827:39;5860:5;5827:39;:::i;:::-;5882:89;5964:6;5959:3;5882:89;:::i;:::-;5875:96;;5980:65;6038:6;6033:3;6026:4;6019:5;6015:16;5980:65;:::i;:::-;6070:6;6065:3;6061:16;6054:23;;5803:280;5693:390;;;;:::o;6089:151::-;6229:3;6225:1;6217:6;6213:14;6206:27;6089:151;:::o;6246:400::-;6406:3;6427:84;6509:1;6504:3;6427:84;:::i;:::-;6420:91;;6520:93;6609:3;6520:93;:::i;:::-;6638:1;6633:3;6629:11;6622:18;;6246:400;;;:::o;6652:1127::-;7082:3;7104:95;7195:3;7186:6;7104:95;:::i;:::-;7097:102;;7216:148;7360:3;7216:148;:::i;:::-;7209:155;;7381:95;7472:3;7463:6;7381:95;:::i;:::-;7374:102;;7493:148;7637:3;7493:148;:::i;:::-;7486:155;;7658:95;7749:3;7740:6;7658:95;:::i;:::-;7651:102;;7770:3;7763:10;;6652:1127;;;;;;:::o;7785:180::-;7833:77;7830:1;7823:88;7930:4;7927:1;7920:15;7954:4;7951:1;7944:15;7971:117;8080:1;8077;8070:12;8094:117;8203:1;8200;8193:12;8217:117;8326:1;8323;8316:12;8340:399;8437:4;8491:11;8478:25;8593:1;8585:6;8581:14;8570:8;8554:14;8550:29;8546:50;8526:18;8522:75;8512:170;;8601:79;;:::i;:::-;8512:170;8713:18;8703:8;8699:33;8691:41;;8442:297;8340:399;;;;:::o;8745:180::-;8793:77;8790:1;8783:88;8890:4;8887:1;8880:15;8914:4;8911:1;8904:15;8931:180;8979:77;8976:1;8969:88;9076:4;9073:1;9066:15;9100:4;9097:1;9090:15;9117:126;9154:7;9194:42;9187:5;9183:54;9172:65;;9117:126;;;:::o;9249:96::-;9286:7;9315:24;9333:5;9315:24;:::i;:::-;9304:35;;9249:96;;;:::o;9351:122::-;9424:24;9442:5;9424:24;:::i;:::-;9417:5;9414:35;9404:63;;9463:1;9460;9453:12;9404:63;9351:122;:::o;9479:139::-;9525:5;9563:6;9550:20;9541:29;;9579:33;9606:5;9579:33;:::i;:::-;9479:139;;;;:::o;9624:329::-;9683:6;9732:2;9720:9;9711:7;9707:23;9703:32;9700:119;;;9738:79;;:::i;:::-;9700:119;9858:1;9883:53;9928:7;9919:6;9908:9;9904:22;9883:53;:::i;:::-;9873:63;;9829:117;9624:329;;;;:::o;9959:724::-;10036:4;10042:6;10098:11;10085:25;10198:1;10192:4;10188:12;10177:8;10161:14;10157:29;10153:48;10133:18;10129:73;10119:168;;10206:79;;:::i;:::-;10119:168;10318:18;10308:8;10304:33;10296:41;;10370:4;10357:18;10347:28;;10398:18;10390:6;10387:30;10384:117;;;10420:79;;:::i;:::-;10384:117;10528:2;10522:4;10518:13;10510:21;;10585:4;10577:6;10573:17;10557:14;10553:38;10547:4;10543:49;10540:136;;;10595:79;;:::i;:::-;10540:136;10049:634;9959:724;;;;;:::o;10689:143::-;10746:5;10777:6;10771:13;10762:22;;10793:33;10820:5;10793:33;:::i;:::-;10689:143;;;;:::o;10838:351::-;10908:6;10957:2;10945:9;10936:7;10932:23;10928:32;10925:119;;;10963:79;;:::i;:::-;10925:119;11083:1;11108:64;11164:7;11155:6;11144:9;11140:22;11108:64;:::i;:::-;11098:74;;11054:128;10838:351;;;;:::o;11195:164::-;11335:16;11331:1;11323:6;11319:14;11312:40;11195:164;:::o;11365:366::-;11507:3;11528:67;11592:2;11587:3;11528:67;:::i;:::-;11521:74;;11604:93;11693:3;11604:93;:::i;:::-;11722:2;11717:3;11713:12;11706:19;;11365:366;;;:::o;11737:419::-;11903:4;11941:2;11930:9;11926:18;11918:26;;11990:9;11984:4;11980:20;11976:1;11965:9;11961:17;11954:47;12018:131;12144:4;12018:131;:::i;:::-;12010:139;;11737:419;;;:::o" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "800200", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "infinite", - "isPayable()": "374", - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "infinite", - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "infinite", - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "infinite", - "version()": "infinite" - }, - "internal": { - "extractAddressFromData(bytes memory)": "infinite", - "onAttest(struct Attestation calldata,uint256)": "infinite", - "onRevoke(struct Attestation calldata,uint256)": "29" - } - }, - "methodIdentifiers": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", - "isPayable()": "ce46e046", - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", - "version()": "54fd4d50" - } - }, - "abi": [ - { - "inputs": [ - { - "internalType": "contract IEAS", - "name": "eas", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "AccessDenied", - "type": "error" - }, - { - "inputs": [], - "name": "InsufficientValue", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidEAS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidLength", - "type": "error" - }, - { - "inputs": [], - "name": "NotPayable", - "type": "error" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "attestation", - "type": "tuple" - } - ], - "name": "attest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "isPayable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation[]", - "name": "attestations", - "type": "tuple[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multiAttest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation[]", - "name": "attestations", - "type": "tuple[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multiRevoke", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "attestation", - "type": "tuple" - } - ], - "name": "revoke", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ] -} \ No newline at end of file diff --git a/data_entry/ownable-resolver/artifacts/build-info/be62ebfe77aadf5d6d5daf6ae4eb3f76.json b/data_entry/ownable-resolver/artifacts/build-info/be62ebfe77aadf5d6d5daf6ae4eb3f76.json deleted file mode 100644 index d1285cd..0000000 --- a/data_entry/ownable-resolver/artifacts/build-info/be62ebfe77aadf5d6d5daf6ae4eb3f76.json +++ /dev/null @@ -1,71430 +0,0 @@ -{ - "id": "be62ebfe77aadf5d6d5daf6ae4eb3f76", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.26", - "solcLongVersion": "0.8.26+commit.8a97fa7a", - "input": { - "language": "Solidity", - "sources": { - "ownable-resolver.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport { SchemaResolver } from \"EAS/SchemaResolver.sol\";\nimport { IEAS, Attestation } from \"EAS/IEAS.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\n/**\n * @title A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient.\n */\ncontract OwnerRecipientResolver is SchemaResolver {\n constructor(IEAS eas) SchemaResolver(eas) {}\n\n function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) {\n \n // Return true if the attestation.recipient field is empty (zero address)\n if (attestation.recipient == address(0)) {\n return true;\n }\n\n // Check if the attestation.recipient is a contract\n if (attestation.recipient.code.length == 0) {\n return false;\n }\n\n // Extract _address field from attestation.data\n address _address = extractAddressFromData(attestation.data);\n\n // Only allow the attestation if the to be attested contract _address is also the recipient\n if (attestation.recipient != _address) {\n return false;\n }\n\n // Try to cast the recipient address to Ownable\n Ownable ownableContract = Ownable(attestation.recipient);\n\n try ownableContract.owner() returns (address owner) {\n // Check if the sender is the owner of the contract\n return attestation.attester == owner;\n } catch {\n // If the call to owner() fails, it means the contract is not Ownable\n return false;\n }\n }\n\n function extractAddressFromData(bytes memory data) internal pure returns (address) {\n require(data.length >= 32, \"Data too short\");\n \n // The address is at index 12 of the first 32 bytes (right-aligned in ABI encoding).\n address extractedAddress;\n assembly {\n extractedAddress := mload(add(data, 32)) // Load the first 32 bytes, which includes the address at offset 12.\n extractedAddress := and(extractedAddress, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) // Mask the last 20 bytes (address size).\n }\n \n return extractedAddress;\n }\n\n\n function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) {\n return true;\n }\n}" - }, - "@openzeppelin/contracts/access/Ownable.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {Context} from \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n constructor(address initialOwner) {\n if (initialOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(initialOwner);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" - }, - "EAS/IEAS.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport { ISchemaRegistry } from \"./ISchemaRegistry.sol\";\nimport { ISemver } from \"./ISemver.sol\";\nimport { Attestation, Signature } from \"./Common.sol\";\n\n/// @notice A struct representing the arguments of the attestation request.\nstruct AttestationRequestData {\n address recipient; // The recipient of the attestation.\n uint64 expirationTime; // The time when the attestation expires (Unix timestamp).\n bool revocable; // Whether the attestation is revocable.\n bytes32 refUID; // The UID of the related attestation.\n bytes data; // Custom attestation data.\n uint256 value; // An explicit ETH amount to send to the resolver. This is important to prevent accidental user errors.\n}\n\n/// @notice A struct representing the full arguments of the attestation request.\nstruct AttestationRequest {\n bytes32 schema; // The unique identifier of the schema.\n AttestationRequestData data; // The arguments of the attestation request.\n}\n\n/// @notice A struct representing the full arguments of the full delegated attestation request.\nstruct DelegatedAttestationRequest {\n bytes32 schema; // The unique identifier of the schema.\n AttestationRequestData data; // The arguments of the attestation request.\n Signature signature; // The ECDSA signature data.\n address attester; // The attesting account.\n uint64 deadline; // The deadline of the signature/request.\n}\n\n/// @notice A struct representing the full arguments of the multi attestation request.\nstruct MultiAttestationRequest {\n bytes32 schema; // The unique identifier of the schema.\n AttestationRequestData[] data; // The arguments of the attestation request.\n}\n\n/// @notice A struct representing the full arguments of the delegated multi attestation request.\nstruct MultiDelegatedAttestationRequest {\n bytes32 schema; // The unique identifier of the schema.\n AttestationRequestData[] data; // The arguments of the attestation requests.\n Signature[] signatures; // The ECDSA signatures data. Please note that the signatures are assumed to be signed with increasing nonces.\n address attester; // The attesting account.\n uint64 deadline; // The deadline of the signature/request.\n}\n\n/// @notice A struct representing the arguments of the revocation request.\nstruct RevocationRequestData {\n bytes32 uid; // The UID of the attestation to revoke.\n uint256 value; // An explicit ETH amount to send to the resolver. This is important to prevent accidental user errors.\n}\n\n/// @notice A struct representing the full arguments of the revocation request.\nstruct RevocationRequest {\n bytes32 schema; // The unique identifier of the schema.\n RevocationRequestData data; // The arguments of the revocation request.\n}\n\n/// @notice A struct representing the arguments of the full delegated revocation request.\nstruct DelegatedRevocationRequest {\n bytes32 schema; // The unique identifier of the schema.\n RevocationRequestData data; // The arguments of the revocation request.\n Signature signature; // The ECDSA signature data.\n address revoker; // The revoking account.\n uint64 deadline; // The deadline of the signature/request.\n}\n\n/// @notice A struct representing the full arguments of the multi revocation request.\nstruct MultiRevocationRequest {\n bytes32 schema; // The unique identifier of the schema.\n RevocationRequestData[] data; // The arguments of the revocation request.\n}\n\n/// @notice A struct representing the full arguments of the delegated multi revocation request.\nstruct MultiDelegatedRevocationRequest {\n bytes32 schema; // The unique identifier of the schema.\n RevocationRequestData[] data; // The arguments of the revocation requests.\n Signature[] signatures; // The ECDSA signatures data. Please note that the signatures are assumed to be signed with increasing nonces.\n address revoker; // The revoking account.\n uint64 deadline; // The deadline of the signature/request.\n}\n\n/// @title IEAS\n/// @notice EAS - Ethereum Attestation Service interface.\ninterface IEAS is ISemver {\n /// @notice Emitted when an attestation has been made.\n /// @param recipient The recipient of the attestation.\n /// @param attester The attesting account.\n /// @param uid The UID of the new attestation.\n /// @param schemaUID The UID of the schema.\n event Attested(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schemaUID);\n\n /// @notice Emitted when an attestation has been revoked.\n /// @param recipient The recipient of the attestation.\n /// @param attester The attesting account.\n /// @param schemaUID The UID of the schema.\n /// @param uid The UID the revoked attestation.\n event Revoked(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schemaUID);\n\n /// @notice Emitted when a data has been timestamped.\n /// @param data The data.\n /// @param timestamp The timestamp.\n event Timestamped(bytes32 indexed data, uint64 indexed timestamp);\n\n /// @notice Emitted when a data has been revoked.\n /// @param revoker The address of the revoker.\n /// @param data The data.\n /// @param timestamp The timestamp.\n event RevokedOffchain(address indexed revoker, bytes32 indexed data, uint64 indexed timestamp);\n\n /// @notice Returns the address of the global schema registry.\n /// @return The address of the global schema registry.\n function getSchemaRegistry() external view returns (ISchemaRegistry);\n\n /// @notice Attests to a specific schema.\n /// @param request The arguments of the attestation request.\n /// @return The UID of the new attestation.\n ///\n /// Example:\n /// attest({\n /// schema: \"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\",\n /// data: {\n /// recipient: \"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\",\n /// expirationTime: 0,\n /// revocable: true,\n /// refUID: \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n /// data: \"0xF00D\",\n /// value: 0\n /// }\n /// })\n function attest(AttestationRequest calldata request) external payable returns (bytes32);\n\n /// @notice Attests to a specific schema via the provided ECDSA signature.\n /// @param delegatedRequest The arguments of the delegated attestation request.\n /// @return The UID of the new attestation.\n ///\n /// Example:\n /// attestByDelegation({\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: {\n /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n /// expirationTime: 1673891048,\n /// revocable: true,\n /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n /// data: '0x1234',\n /// value: 0\n /// },\n /// signature: {\n /// v: 28,\n /// r: '0x148c...b25b',\n /// s: '0x5a72...be22'\n /// },\n /// attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e',\n /// deadline: 1673891048\n /// })\n function attestByDelegation(\n DelegatedAttestationRequest calldata delegatedRequest\n ) external payable returns (bytes32);\n\n /// @notice Attests to multiple schemas.\n /// @param multiRequests The arguments of the multi attestation requests. The requests should be grouped by distinct\n /// schema ids to benefit from the best batching optimization.\n /// @return The UIDs of the new attestations.\n ///\n /// Example:\n /// multiAttest([{\n /// schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd',\n /// data: [{\n /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n /// expirationTime: 1673891048,\n /// revocable: true,\n /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n /// data: '0x1234',\n /// value: 1000\n /// },\n /// {\n /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n /// expirationTime: 0,\n /// revocable: false,\n /// refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174',\n /// data: '0x00',\n /// value: 0\n /// }],\n /// },\n /// {\n /// schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',\n /// data: [{\n /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n /// expirationTime: 0,\n /// revocable: true,\n /// refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f',\n /// data: '0x12345678',\n /// value: 0\n /// },\n /// }])\n function multiAttest(MultiAttestationRequest[] calldata multiRequests) external payable returns (bytes32[] memory);\n\n /// @notice Attests to multiple schemas using via provided ECDSA signatures.\n /// @param multiDelegatedRequests The arguments of the delegated multi attestation requests. The requests should be\n /// grouped by distinct schema ids to benefit from the best batching optimization.\n /// @return The UIDs of the new attestations.\n ///\n /// Example:\n /// multiAttestByDelegation([{\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: [{\n /// recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n /// expirationTime: 1673891048,\n /// revocable: true,\n /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n /// data: '0x1234',\n /// value: 0\n /// },\n /// {\n /// recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n /// expirationTime: 0,\n /// revocable: false,\n /// refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n /// data: '0x00',\n /// value: 0\n /// }],\n /// signatures: [{\n /// v: 28,\n /// r: '0x148c...b25b',\n /// s: '0x5a72...be22'\n /// },\n /// {\n /// v: 28,\n /// r: '0x487s...67bb',\n /// s: '0x12ad...2366'\n /// }],\n /// attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4',\n /// deadline: 1673891048\n /// }])\n function multiAttestByDelegation(\n MultiDelegatedAttestationRequest[] calldata multiDelegatedRequests\n ) external payable returns (bytes32[] memory);\n\n /// @notice Revokes an existing attestation to a specific schema.\n /// @param request The arguments of the revocation request.\n ///\n /// Example:\n /// revoke({\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: {\n /// uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d',\n /// value: 0\n /// }\n /// })\n function revoke(RevocationRequest calldata request) external payable;\n\n /// @notice Revokes an existing attestation to a specific schema via the provided ECDSA signature.\n /// @param delegatedRequest The arguments of the delegated revocation request.\n ///\n /// Example:\n /// revokeByDelegation({\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: {\n /// uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba',\n /// value: 0\n /// },\n /// signature: {\n /// v: 27,\n /// r: '0xb593...7142',\n /// s: '0x0f5b...2cce'\n /// },\n /// revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',\n /// deadline: 1673891048\n /// })\n function revokeByDelegation(DelegatedRevocationRequest calldata delegatedRequest) external payable;\n\n /// @notice Revokes existing attestations to multiple schemas.\n /// @param multiRequests The arguments of the multi revocation requests. The requests should be grouped by distinct\n /// schema ids to benefit from the best batching optimization.\n ///\n /// Example:\n /// multiRevoke([{\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: [{\n /// uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',\n /// value: 1000\n /// },\n /// {\n /// uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',\n /// value: 0\n /// }],\n /// },\n /// {\n /// schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',\n /// data: [{\n /// uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019',\n /// value: 0\n /// },\n /// }])\n function multiRevoke(MultiRevocationRequest[] calldata multiRequests) external payable;\n\n /// @notice Revokes existing attestations to multiple schemas via provided ECDSA signatures.\n /// @param multiDelegatedRequests The arguments of the delegated multi revocation attestation requests. The requests\n /// should be grouped by distinct schema ids to benefit from the best batching optimization.\n ///\n /// Example:\n /// multiRevokeByDelegation([{\n /// schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n /// data: [{\n /// uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',\n /// value: 1000\n /// },\n /// {\n /// uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',\n /// value: 0\n /// }],\n /// signatures: [{\n /// v: 28,\n /// r: '0x148c...b25b',\n /// s: '0x5a72...be22'\n /// },\n /// {\n /// v: 28,\n /// r: '0x487s...67bb',\n /// s: '0x12ad...2366'\n /// }],\n /// revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',\n /// deadline: 1673891048\n /// }])\n function multiRevokeByDelegation(\n MultiDelegatedRevocationRequest[] calldata multiDelegatedRequests\n ) external payable;\n\n /// @notice Timestamps the specified bytes32 data.\n /// @param data The data to timestamp.\n /// @return The timestamp the data was timestamped with.\n function timestamp(bytes32 data) external returns (uint64);\n\n /// @notice Timestamps the specified multiple bytes32 data.\n /// @param data The data to timestamp.\n /// @return The timestamp the data was timestamped with.\n function multiTimestamp(bytes32[] calldata data) external returns (uint64);\n\n /// @notice Revokes the specified bytes32 data.\n /// @param data The data to timestamp.\n /// @return The timestamp the data was revoked with.\n function revokeOffchain(bytes32 data) external returns (uint64);\n\n /// @notice Revokes the specified multiple bytes32 data.\n /// @param data The data to timestamp.\n /// @return The timestamp the data was revoked with.\n function multiRevokeOffchain(bytes32[] calldata data) external returns (uint64);\n\n /// @notice Returns an existing attestation by UID.\n /// @param uid The UID of the attestation to retrieve.\n /// @return The attestation data members.\n function getAttestation(bytes32 uid) external view returns (Attestation memory);\n\n /// @notice Checks whether an attestation exists.\n /// @param uid The UID of the attestation to retrieve.\n /// @return Whether an attestation exists.\n function isAttestationValid(bytes32 uid) external view returns (bool);\n\n /// @notice Returns the timestamp that the specified data was timestamped with.\n /// @param data The data to query.\n /// @return The timestamp the data was timestamped with.\n function getTimestamp(bytes32 data) external view returns (uint64);\n\n /// @notice Returns the timestamp that the specified data was timestamped with.\n /// @param data The data to query.\n /// @return The timestamp the data was timestamped with.\n function getRevokeOffchain(address revoker, bytes32 data) external view returns (uint64);\n}" - }, - "EAS/SchemaResolver.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.4;\n\nimport { AccessDenied, InvalidEAS, InvalidLength, uncheckedInc } from \"./Common.sol\";\nimport { IEAS, Attestation } from \"./IEAS.sol\";\nimport { Semver } from \"./Semver.sol\";\nimport { ISchemaResolver } from \"./ISchemaResolver.sol\";\n\n/// @title SchemaResolver\n/// @notice The base schema resolver contract.\nabstract contract SchemaResolver is ISchemaResolver, Semver {\n error InsufficientValue();\n error NotPayable();\n\n // The global EAS contract.\n IEAS internal immutable _eas;\n\n /// @dev Creates a new resolver.\n /// @param eas The address of the global EAS contract.\n constructor(IEAS eas) Semver(1, 3, 0) {\n if (address(eas) == address(0)) {\n revert InvalidEAS();\n }\n\n _eas = eas;\n }\n\n /// @dev Ensures that only the EAS contract can make this call.\n modifier onlyEAS() {\n _onlyEAS();\n\n _;\n }\n\n /// @inheritdoc ISchemaResolver\n function isPayable() public pure virtual returns (bool) {\n return false;\n }\n\n /// @dev ETH callback.\n receive() external payable virtual {\n if (!isPayable()) {\n revert NotPayable();\n }\n }\n\n /// @inheritdoc ISchemaResolver\n function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) {\n return onAttest(attestation, msg.value);\n }\n\n /// @inheritdoc ISchemaResolver\n function multiAttest(\n Attestation[] calldata attestations,\n uint256[] calldata values\n ) external payable onlyEAS returns (bool) {\n uint256 length = attestations.length;\n if (length != values.length) {\n revert InvalidLength();\n }\n\n // We are keeping track of the remaining ETH amount that can be sent to resolvers and will keep deducting\n // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless\n // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be\n // possible to send too much ETH anyway.\n uint256 remainingValue = msg.value;\n\n for (uint256 i = 0; i < length; i = uncheckedInc(i)) {\n // Ensure that the attester/revoker doesn't try to spend more than available.\n uint256 value = values[i];\n if (value > remainingValue) {\n revert InsufficientValue();\n }\n\n // Forward the attestation to the underlying resolver and return false in case it isn't approved.\n if (!onAttest(attestations[i], value)) {\n return false;\n }\n\n unchecked {\n // Subtract the ETH amount, that was provided to this attestation, from the global remaining ETH amount.\n remainingValue -= value;\n }\n }\n\n return true;\n }\n\n /// @inheritdoc ISchemaResolver\n function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) {\n return onRevoke(attestation, msg.value);\n }\n\n /// @inheritdoc ISchemaResolver\n function multiRevoke(\n Attestation[] calldata attestations,\n uint256[] calldata values\n ) external payable onlyEAS returns (bool) {\n uint256 length = attestations.length;\n if (length != values.length) {\n revert InvalidLength();\n }\n\n // We are keeping track of the remaining ETH amount that can be sent to resolvers and will keep deducting\n // from it to verify that there isn't any attempt to send too much ETH to resolvers. Please note that unless\n // some ETH was stuck in the contract by accident (which shouldn't happen in normal conditions), it won't be\n // possible to send too much ETH anyway.\n uint256 remainingValue = msg.value;\n\n for (uint256 i = 0; i < length; i = uncheckedInc(i)) {\n // Ensure that the attester/revoker doesn't try to spend more than available.\n uint256 value = values[i];\n if (value > remainingValue) {\n revert InsufficientValue();\n }\n\n // Forward the revocation to the underlying resolver and return false in case it isn't approved.\n if (!onRevoke(attestations[i], value)) {\n return false;\n }\n\n unchecked {\n // Subtract the ETH amount, that was provided to this attestation, from the global remaining ETH amount.\n remainingValue -= value;\n }\n }\n\n return true;\n }\n\n /// @notice A resolver callback that should be implemented by child contracts.\n /// @param attestation The new attestation.\n /// @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in\n /// both attest() and multiAttest() callbacks EAS-only callbacks and that in case of multi attestations, it'll\n /// usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the\n /// attestations in the batch.\n /// @return Whether the attestation is valid.\n function onAttest(Attestation calldata attestation, uint256 value) internal virtual returns (bool);\n\n /// @notice Processes an attestation revocation and verifies if it can be revoked.\n /// @param attestation The existing attestation to be revoked.\n /// @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in\n /// both revoke() and multiRevoke() callbacks EAS-only callbacks and that in case of multi attestations, it'll\n /// usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the\n /// attestations in the batch.\n /// @return Whether the attestation can be revoked.\n function onRevoke(Attestation calldata attestation, uint256 value) internal virtual returns (bool);\n\n /// @dev Ensures that only the EAS contract can make this call.\n function _onlyEAS() private view {\n if (msg.sender != address(_eas)) {\n revert AccessDenied();\n }\n }\n}" - }, - "EAS/ISchemaResolver.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport { Attestation } from \"./Common.sol\";\nimport { ISemver } from \"./ISemver.sol\";\n\n/// @title ISchemaResolver\n/// @notice The interface of an optional schema resolver.\ninterface ISchemaResolver is ISemver {\n /// @notice Checks if the resolver can be sent ETH.\n /// @return Whether the resolver supports ETH transfers.\n function isPayable() external pure returns (bool);\n\n /// @notice Processes an attestation and verifies whether it's valid.\n /// @param attestation The new attestation.\n /// @return Whether the attestation is valid.\n function attest(Attestation calldata attestation) external payable returns (bool);\n\n /// @notice Processes multiple attestations and verifies whether they are valid.\n /// @param attestations The new attestations.\n /// @param values Explicit ETH amounts which were sent with each attestation.\n /// @return Whether all the attestations are valid.\n function multiAttest(\n Attestation[] calldata attestations,\n uint256[] calldata values\n ) external payable returns (bool);\n\n /// @notice Processes an attestation revocation and verifies if it can be revoked.\n /// @param attestation The existing attestation to be revoked.\n /// @return Whether the attestation can be revoked.\n function revoke(Attestation calldata attestation) external payable returns (bool);\n\n /// @notice Processes revocation of multiple attestation and verifies they can be revoked.\n /// @param attestations The existing attestations to be revoked.\n /// @param values Explicit ETH amounts which were sent with each revocation.\n /// @return Whether the attestations can be revoked.\n function multiRevoke(\n Attestation[] calldata attestations,\n uint256[] calldata values\n ) external payable returns (bool);\n}" - }, - "EAS/Semver.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.4;\n\nimport { Strings } from \"@openzeppelin/contracts/utils/Strings.sol\";\n\nimport { ISemver } from \"./ISemver.sol\";\n\n/// @title Semver\n/// @notice A simple contract for managing contract versions.\ncontract Semver is ISemver {\n // Contract's major version number.\n uint256 private immutable _major;\n\n // Contract's minor version number.\n uint256 private immutable _minor;\n\n // Contract's patch version number.\n uint256 private immutable _patch;\n\n /// @dev Create a new Semver instance.\n /// @param major Major version number.\n /// @param minor Minor version number.\n /// @param patch Patch version number.\n constructor(uint256 major, uint256 minor, uint256 patch) {\n _major = major;\n _minor = minor;\n _patch = patch;\n }\n\n /// @notice Returns the full semver contract version.\n /// @return Semver contract version as a string.\n function version() external view returns (string memory) {\n return\n string(\n abi.encodePacked(Strings.toString(_major), \".\", Strings.toString(_minor), \".\", Strings.toString(_patch))\n );\n }\n}" - }, - "EAS/Common.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n// A representation of an empty/uninitialized UID.\nbytes32 constant EMPTY_UID = 0;\n\n// A zero expiration represents an non-expiring attestation.\nuint64 constant NO_EXPIRATION_TIME = 0;\n\nerror AccessDenied();\nerror DeadlineExpired();\nerror InvalidEAS();\nerror InvalidLength();\nerror InvalidSignature();\nerror NotFound();\n\n/// @notice A struct representing ECDSA signature data.\nstruct Signature {\n uint8 v; // The recovery ID.\n bytes32 r; // The x-coordinate of the nonce R.\n bytes32 s; // The signature data.\n}\n\n/// @notice A struct representing a single attestation.\nstruct Attestation {\n bytes32 uid; // A unique identifier of the attestation.\n bytes32 schema; // The unique identifier of the schema.\n uint64 time; // The time when the attestation was created (Unix timestamp).\n uint64 expirationTime; // The time when the attestation expires (Unix timestamp).\n uint64 revocationTime; // The time when the attestation was revoked (Unix timestamp).\n bytes32 refUID; // The UID of the related attestation.\n address recipient; // The recipient of the attestation.\n address attester; // The attester/sender of the attestation.\n bool revocable; // Whether the attestation is revocable.\n bytes data; // Custom attestation data.\n}\n\n/// @notice A helper function to work with unchecked iterators in loops.\nfunction uncheckedInc(uint256 i) pure returns (uint256 j) {\n unchecked {\n j = i + 1;\n }\n}" - }, - "EAS/ISemver.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/// @title ISemver\n/// @notice A semver interface.\ninterface ISemver {\n /// @notice Returns the full semver contract version.\n /// @return Semver contract version as a string.\n function version() external view returns (string memory);\n}" - }, - "EAS/ISchemaRegistry.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport { ISemver } from \"./ISemver.sol\";\n\nimport { ISchemaResolver } from \"./ISchemaResolver.sol\";\n\n/// @notice A struct representing a record for a submitted schema.\nstruct SchemaRecord {\n bytes32 uid; // The unique identifier of the schema.\n ISchemaResolver resolver; // Optional schema resolver.\n bool revocable; // Whether the schema allows revocations explicitly.\n string schema; // Custom specification of the schema (e.g., an ABI).\n}\n\n/// @title ISchemaRegistry\n/// @notice The interface of global attestation schemas for the Ethereum Attestation Service protocol.\ninterface ISchemaRegistry is ISemver {\n /// @notice Emitted when a new schema has been registered\n /// @param uid The schema UID.\n /// @param registerer The address of the account used to register the schema.\n /// @param schema The schema data.\n event Registered(bytes32 indexed uid, address indexed registerer, SchemaRecord schema);\n\n /// @notice Submits and reserves a new schema\n /// @param schema The schema data schema.\n /// @param resolver An optional schema resolver.\n /// @param revocable Whether the schema allows revocations explicitly.\n /// @return The UID of the new schema.\n function register(string calldata schema, ISchemaResolver resolver, bool revocable) external returns (bytes32);\n\n /// @notice Returns an existing schema by UID\n /// @param uid The UID of the schema to retrieve.\n /// @return The schema data members.\n function getSchema(bytes32 uid) external view returns (SchemaRecord memory);\n}" - }, - "@openzeppelin/contracts/utils/Context.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" - }, - "@openzeppelin/contracts/utils/Strings.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol)\n\npragma solidity ^0.8.20;\n\nimport {Math} from \"./math/Math.sol\";\nimport {SignedMath} from \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant HEX_DIGITS = \"0123456789abcdef\";\n uint8 private constant ADDRESS_LENGTH = 20;\n\n /**\n * @dev The `value` string doesn't fit in the specified `length`.\n */\n error StringsInsufficientHexLength(uint256 value, uint256 length);\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), HEX_DIGITS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toStringSigned(int256 value) internal pure returns (string memory) {\n return string.concat(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value)));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n uint256 localValue = value;\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = HEX_DIGITS[localValue & 0xf];\n localValue >>= 4;\n }\n if (localValue != 0) {\n revert StringsInsufficientHexLength(value, length);\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n * representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b));\n }\n}\n" - }, - "@openzeppelin/contracts/utils/math/SignedMath.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // must be unchecked in order to support `n = type(int256).min`\n return uint256(n >= 0 ? n : -n);\n }\n }\n}\n" - }, - "@openzeppelin/contracts/utils/math/Math.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n /**\n * @dev Muldiv operation overflow.\n */\n error MathOverflowedMulDiv();\n\n enum Rounding {\n Floor, // Toward negative infinity\n Ceil, // Toward positive infinity\n Trunc, // Toward zero\n Expand // Away from zero\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n uint256 c = a + b;\n if (c < a) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, with an overflow flag.\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b > a) return (false, 0);\n return (true, a - b);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) return (true, 0);\n uint256 c = a * b;\n if (c / a != b) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a / b);\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a % b);\n }\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds towards infinity instead\n * of rounding towards zero.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n if (b == 0) {\n // Guarantee the same behavior as in a regular Solidity division.\n return a / b;\n }\n\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n * denominator == 0.\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n * Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0 = x * y; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n if (denominator <= prod1) {\n revert MathOverflowedMulDiv();\n }\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator.\n // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.\n\n uint256 twos = denominator & (0 - denominator);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also\n // works in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n * towards zero.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (unsignedRoundsUp(rounding) && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (unsignedRoundsUp(rounding) && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (unsignedRoundsUp(rounding) && 10 ** result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (unsignedRoundsUp(rounding) && 1 << (result << 3) < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers.\n */\n function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) {\n return uint8(rounding) % 2 == 1;\n }\n}\n" - } - }, - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "": [ - "ast" - ], - "*": [ - "abi", - "metadata", - "devdoc", - "userdoc", - "storageLayout", - "evm.legacyAssembly", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "evm.gasEstimates", - "evm.assembly" - ] - } - }, - "remappings": [] - } - }, - "output": { - "contracts": { - "@openzeppelin/contracts/access/Ownable.sol": { - "Ownable": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "OwnableInvalidOwner", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "OwnableUnauthorizedAccount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", - "errors": { - "OwnableInvalidOwner(address)": [ - { - "details": "The owner is not a valid owner account. (eg. `address(0)`)" - } - ], - "OwnableUnauthorizedAccount(address)": [ - { - "details": "The caller account is not authorized to perform an operation." - } - ] - }, - "kind": "dev", - "methods": { - "constructor": { - "details": "Initializes the contract setting the address provided by the deployer as the initial owner." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the address provided by the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 8, - "contract": "@openzeppelin/contracts/access/Ownable.sol:Ownable", - "label": "_owner", - "offset": 0, - "slot": "0", - "type": "t_address" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/utils/Context.sol": { - "Context": { - "abi": [], - "devdoc": { - "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/utils/Strings.sol": { - "Strings": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - } - ], - "name": "StringsInsufficientHexLength", - "type": "error" - } - ], - "devdoc": { - "details": "String operations.", - "errors": { - "StringsInsufficientHexLength(uint256,uint256)": [ - { - "details": "The `value` string doesn't fit in the specified `length`." - } - ] - }, - "kind": "dev", - "methods": {}, - "version": 1 - }, - "evm": { - "assembly": " /* \"@openzeppelin/contracts/utils/Strings.sol\":251:3098 library Strings {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/Strings.sol\":251:3098 library Strings {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa264697066735822122051a8715979020060b5847a3f92a10202c663f2695287de37855095ccae600c8164736f6c634300081a0033\n}\n", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122051a8715979020060b5847a3f92a10202c663f2695287de37855095ccae600c8164736f6c634300081a0033", - "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xA8 PUSH18 0x5979020060B5847A3F92A10202C663F26952 DUP8 0xDE CALLDATACOPY DUP6 POP SWAP6 0xCC 0xAE PUSH1 0xC DUP2 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", - "sourceMap": "251:2847:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122051a8715979020060b5847a3f92a10202c663f2695287de37855095ccae600c8164736f6c634300081a0033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xA8 PUSH18 0x5979020060B5847A3F92A10202C663F26952 DUP8 0xDE CALLDATACOPY DUP6 POP SWAP6 0xCC 0xAE PUSH1 0xC DUP2 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", - "sourceMap": "251:2847:2:-:0;;;;;;;;" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "17000", - "executionCost": "92", - "totalCost": "17092" - }, - "internal": { - "equal(string memory,string memory)": "infinite", - "toHexString(address)": "infinite", - "toHexString(uint256)": "infinite", - "toHexString(uint256,uint256)": "infinite", - "toString(uint256)": "infinite", - "toStringSigned(int256)": "infinite" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 251, - "end": 3098, - "name": "PUSH #[$]", - "source": 2, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH [$]", - "source": 2, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "B" - }, - { - "begin": 251, - "end": 3098, - "name": "DUP3", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "DUP3", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "DUP3", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "CODECOPY", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "DUP1", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "MLOAD", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 251, - "end": 3098, - "name": "BYTE", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "73" - }, - { - "begin": 251, - "end": 3098, - "name": "EQ", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH [tag]", - "source": 2, - "value": "1" - }, - { - "begin": 251, - "end": 3098, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 251, - "end": 3098, - "name": "MSTORE", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "4" - }, - { - "begin": 251, - "end": 3098, - "name": "MSTORE", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "24" - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 251, - "end": 3098, - "name": "REVERT", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "tag", - "source": 2, - "value": "1" - }, - { - "begin": 251, - "end": 3098, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "ADDRESS", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 251, - "end": 3098, - "name": "MSTORE", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "73" - }, - { - "begin": 251, - "end": 3098, - "name": "DUP2", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "MSTORE8", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "DUP3", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "DUP2", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "RETURN", - "source": 2 - } - ], - ".data": { - "0": { - ".auxdata": "a264697066735822122051a8715979020060b5847a3f92a10202c663f2695287de37855095ccae600c8164736f6c634300081a0033", - ".code": [ - { - "begin": 251, - "end": 3098, - "name": "PUSHDEPLOYADDRESS", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "ADDRESS", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "EQ", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "80" - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "40" - }, - { - "begin": 251, - "end": 3098, - "name": "MSTORE", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 251, - "end": 3098, - "name": "DUP1", - "source": 2 - }, - { - "begin": 251, - "end": 3098, - "name": "REVERT", - "source": 2 - } - ] - } - }, - "sourceList": [ - "@openzeppelin/contracts/access/Ownable.sol", - "@openzeppelin/contracts/utils/Context.sol", - "@openzeppelin/contracts/utils/Strings.sol", - "@openzeppelin/contracts/utils/math/Math.sol", - "@openzeppelin/contracts/utils/math/SignedMath.sol", - "EAS/Common.sol", - "EAS/IEAS.sol", - "EAS/ISchemaRegistry.sol", - "EAS/ISchemaResolver.sol", - "EAS/ISemver.sol", - "EAS/SchemaResolver.sol", - "EAS/Semver.sol", - "ownable-resolver.sol", - "#utility.yul" - ] - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/utils/math/Math.sol": { - "Math": { - "abi": [ - { - "inputs": [], - "name": "MathOverflowedMulDiv", - "type": "error" - } - ], - "devdoc": { - "details": "Standard math utilities missing in the Solidity language.", - "errors": { - "MathOverflowedMulDiv()": [ - { - "details": "Muldiv operation overflow." - } - ] - }, - "kind": "dev", - "methods": {}, - "version": 1 - }, - "evm": { - "assembly": " /* \"@openzeppelin/contracts/utils/math/Math.sol\":203:15117 library Math {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":203:15117 library Math {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa2646970667358221220203246029dab93f34b327ba02915d37e6c29f598a14b59593a6c7ca26ac8c1c664736f6c634300081a0033\n}\n", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220203246029dab93f34b327ba02915d37e6c29f598a14b59593a6c7ca26ac8c1c664736f6c634300081a0033", - "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 KECCAK256 ORIGIN CHAINID MUL SWAP14 0xAB SWAP4 RETURN 0x4B ORIGIN PUSH28 0xA02915D37E6C29F598A14B59593A6C7CA26AC8C1C664736F6C634300 ADDMOD BYTE STOP CALLER ", - "sourceMap": "203:14914:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220203246029dab93f34b327ba02915d37e6c29f598a14b59593a6c7ca26ac8c1c664736f6c634300081a0033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 KECCAK256 ORIGIN CHAINID MUL SWAP14 0xAB SWAP4 RETURN 0x4B ORIGIN PUSH28 0xA02915D37E6C29F598A14B59593A6C7CA26AC8C1C664736F6C634300 ADDMOD BYTE STOP CALLER ", - "sourceMap": "203:14914:3:-:0;;;;;;;;" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "17000", - "executionCost": "92", - "totalCost": "17092" - }, - "internal": { - "average(uint256,uint256)": "infinite", - "ceilDiv(uint256,uint256)": "infinite", - "log10(uint256)": "infinite", - "log10(uint256,enum Math.Rounding)": "infinite", - "log2(uint256)": "infinite", - "log2(uint256,enum Math.Rounding)": "infinite", - "log256(uint256)": "infinite", - "log256(uint256,enum Math.Rounding)": "infinite", - "max(uint256,uint256)": "infinite", - "min(uint256,uint256)": "infinite", - "mulDiv(uint256,uint256,uint256)": "infinite", - "mulDiv(uint256,uint256,uint256,enum Math.Rounding)": "infinite", - "sqrt(uint256)": "infinite", - "sqrt(uint256,enum Math.Rounding)": "infinite", - "tryAdd(uint256,uint256)": "infinite", - "tryDiv(uint256,uint256)": "infinite", - "tryMod(uint256,uint256)": "infinite", - "tryMul(uint256,uint256)": "infinite", - "trySub(uint256,uint256)": "infinite", - "unsignedRoundsUp(enum Math.Rounding)": "infinite" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 203, - "end": 15117, - "name": "PUSH #[$]", - "source": 3, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH [$]", - "source": 3, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "B" - }, - { - "begin": 203, - "end": 15117, - "name": "DUP3", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "DUP3", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "DUP3", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "CODECOPY", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "DUP1", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "MLOAD", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 203, - "end": 15117, - "name": "BYTE", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "73" - }, - { - "begin": 203, - "end": 15117, - "name": "EQ", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH [tag]", - "source": 3, - "value": "1" - }, - { - "begin": 203, - "end": 15117, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 203, - "end": 15117, - "name": "MSTORE", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "4" - }, - { - "begin": 203, - "end": 15117, - "name": "MSTORE", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "24" - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 203, - "end": 15117, - "name": "REVERT", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "tag", - "source": 3, - "value": "1" - }, - { - "begin": 203, - "end": 15117, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "ADDRESS", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 203, - "end": 15117, - "name": "MSTORE", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "73" - }, - { - "begin": 203, - "end": 15117, - "name": "DUP2", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "MSTORE8", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "DUP3", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "DUP2", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "RETURN", - "source": 3 - } - ], - ".data": { - "0": { - ".auxdata": "a2646970667358221220203246029dab93f34b327ba02915d37e6c29f598a14b59593a6c7ca26ac8c1c664736f6c634300081a0033", - ".code": [ - { - "begin": 203, - "end": 15117, - "name": "PUSHDEPLOYADDRESS", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "ADDRESS", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "EQ", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "80" - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "40" - }, - { - "begin": 203, - "end": 15117, - "name": "MSTORE", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 203, - "end": 15117, - "name": "DUP1", - "source": 3 - }, - { - "begin": 203, - "end": 15117, - "name": "REVERT", - "source": 3 - } - ] - } - }, - "sourceList": [ - "@openzeppelin/contracts/access/Ownable.sol", - "@openzeppelin/contracts/utils/Context.sol", - "@openzeppelin/contracts/utils/Strings.sol", - "@openzeppelin/contracts/utils/math/Math.sol", - "@openzeppelin/contracts/utils/math/SignedMath.sol", - "EAS/Common.sol", - "EAS/IEAS.sol", - "EAS/ISchemaRegistry.sol", - "EAS/ISchemaResolver.sol", - "EAS/ISemver.sol", - "EAS/SchemaResolver.sol", - "EAS/Semver.sol", - "ownable-resolver.sol", - "#utility.yul" - ] - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MathOverflowedMulDiv\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"errors\":{\"MathOverflowedMulDiv()\":[{\"details\":\"Muldiv operation overflow.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/utils/math/SignedMath.sol": { - "SignedMath": { - "abi": [], - "devdoc": { - "details": "Standard signed math utilities missing in the Solidity language.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "evm": { - "assembly": " /* \"@openzeppelin/contracts/utils/math/SignedMath.sol\":216:1263 library SignedMath {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/math/SignedMath.sol\":216:1263 library SignedMath {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa2646970667358221220bafc138f006fce36eaafb8c23c8f3807f830920cd962d103124dcddf6117025d64736f6c634300081a0033\n}\n", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220bafc138f006fce36eaafb8c23c8f3807f830920cd962d103124dcddf6117025d64736f6c634300081a0033", - "opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA 0xFC SGT DUP16 STOP PUSH16 0xCE36EAAFB8C23C8F3807F830920CD962 0xD1 SUB SLT 0x4D 0xCD 0xDF PUSH2 0x1702 TSTORE PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", - "sourceMap": "216:1047:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220bafc138f006fce36eaafb8c23c8f3807f830920cd962d103124dcddf6117025d64736f6c634300081a0033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA 0xFC SGT DUP16 STOP PUSH16 0xCE36EAAFB8C23C8F3807F830920CD962 0xD1 SUB SLT 0x4D 0xCD 0xDF PUSH2 0x1702 TSTORE PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", - "sourceMap": "216:1047:4:-:0;;;;;;;;" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "17000", - "executionCost": "92", - "totalCost": "17092" - }, - "internal": { - "abs(int256)": "infinite", - "average(int256,int256)": "infinite", - "max(int256,int256)": "infinite", - "min(int256,int256)": "infinite" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 216, - "end": 1263, - "name": "PUSH #[$]", - "source": 4, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH [$]", - "source": 4, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "B" - }, - { - "begin": 216, - "end": 1263, - "name": "DUP3", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "DUP3", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "DUP3", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "CODECOPY", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "DUP1", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "MLOAD", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "0" - }, - { - "begin": 216, - "end": 1263, - "name": "BYTE", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "73" - }, - { - "begin": 216, - "end": 1263, - "name": "EQ", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH [tag]", - "source": 4, - "value": "1" - }, - { - "begin": 216, - "end": 1263, - "name": "JUMPI", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "0" - }, - { - "begin": 216, - "end": 1263, - "name": "MSTORE", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "0" - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "4" - }, - { - "begin": 216, - "end": 1263, - "name": "MSTORE", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "24" - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "0" - }, - { - "begin": 216, - "end": 1263, - "name": "REVERT", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "tag", - "source": 4, - "value": "1" - }, - { - "begin": 216, - "end": 1263, - "name": "JUMPDEST", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "ADDRESS", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "0" - }, - { - "begin": 216, - "end": 1263, - "name": "MSTORE", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "73" - }, - { - "begin": 216, - "end": 1263, - "name": "DUP2", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "MSTORE8", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "DUP3", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "DUP2", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "RETURN", - "source": 4 - } - ], - ".data": { - "0": { - ".auxdata": "a2646970667358221220bafc138f006fce36eaafb8c23c8f3807f830920cd962d103124dcddf6117025d64736f6c634300081a0033", - ".code": [ - { - "begin": 216, - "end": 1263, - "name": "PUSHDEPLOYADDRESS", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "ADDRESS", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "EQ", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "80" - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "40" - }, - { - "begin": 216, - "end": 1263, - "name": "MSTORE", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "PUSH", - "source": 4, - "value": "0" - }, - { - "begin": 216, - "end": 1263, - "name": "DUP1", - "source": 4 - }, - { - "begin": 216, - "end": 1263, - "name": "REVERT", - "source": 4 - } - ] - } - }, - "sourceList": [ - "@openzeppelin/contracts/access/Ownable.sol", - "@openzeppelin/contracts/utils/Context.sol", - "@openzeppelin/contracts/utils/Strings.sol", - "@openzeppelin/contracts/utils/math/Math.sol", - "@openzeppelin/contracts/utils/math/SignedMath.sol", - "EAS/Common.sol", - "EAS/IEAS.sol", - "EAS/ISchemaRegistry.sol", - "EAS/ISchemaResolver.sol", - "EAS/ISemver.sol", - "EAS/SchemaResolver.sol", - "EAS/Semver.sol", - "ownable-resolver.sol", - "#utility.yul" - ] - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "EAS/IEAS.sol": { - "IEAS": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "schemaUID", - "type": "bytes32" - } - ], - "name": "Attested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "schemaUID", - "type": "bytes32" - } - ], - "name": "Revoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "revoker", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "data", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - } - ], - "name": "RevokedOffchain", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "data", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" - } - ], - "name": "Timestamped", - "type": "event" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "internalType": "struct AttestationRequestData", - "name": "data", - "type": "tuple" - } - ], - "internalType": "struct AttestationRequest", - "name": "request", - "type": "tuple" - } - ], - "name": "attest", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "internalType": "struct AttestationRequestData", - "name": "data", - "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": "signature", - "type": "tuple" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "uint64", - "name": "deadline", - "type": "uint64" - } - ], - "internalType": "struct DelegatedAttestationRequest", - "name": "delegatedRequest", - "type": "tuple" - } - ], - "name": "attestByDelegation", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - } - ], - "name": "getAttestation", - "outputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "revoker", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "data", - "type": "bytes32" - } - ], - "name": "getRevokeOffchain", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSchemaRegistry", - "outputs": [ - { - "internalType": "contract ISchemaRegistry", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "data", - "type": "bytes32" - } - ], - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - } - ], - "name": "isAttestationValid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "internalType": "struct AttestationRequestData[]", - "name": "data", - "type": "tuple[]" - } - ], - "internalType": "struct MultiAttestationRequest[]", - "name": "multiRequests", - "type": "tuple[]" - } - ], - "name": "multiAttest", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "internalType": "struct AttestationRequestData[]", - "name": "data", - "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": "signatures", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "uint64", - "name": "deadline", - "type": "uint64" - } - ], - "internalType": "struct MultiDelegatedAttestationRequest[]", - "name": "multiDelegatedRequests", - "type": "tuple[]" - } - ], - "name": "multiAttestByDelegation", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "internalType": "struct RevocationRequestData[]", - "name": "data", - "type": "tuple[]" - } - ], - "internalType": "struct MultiRevocationRequest[]", - "name": "multiRequests", - "type": "tuple[]" - } - ], - "name": "multiRevoke", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "internalType": "struct RevocationRequestData[]", - "name": "data", - "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": "signatures", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "revoker", - "type": "address" - }, - { - "internalType": "uint64", - "name": "deadline", - "type": "uint64" - } - ], - "internalType": "struct MultiDelegatedRevocationRequest[]", - "name": "multiDelegatedRequests", - "type": "tuple[]" - } - ], - "name": "multiRevokeByDelegation", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32[]", - "name": "data", - "type": "bytes32[]" - } - ], - "name": "multiRevokeOffchain", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32[]", - "name": "data", - "type": "bytes32[]" - } - ], - "name": "multiTimestamp", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "internalType": "struct RevocationRequestData", - "name": "data", - "type": "tuple" - } - ], - "internalType": "struct RevocationRequest", - "name": "request", - "type": "tuple" - } - ], - "name": "revoke", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "internalType": "struct RevocationRequestData", - "name": "data", - "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": "signature", - "type": "tuple" - }, - { - "internalType": "address", - "name": "revoker", - "type": "address" - }, - { - "internalType": "uint64", - "name": "deadline", - "type": "uint64" - } - ], - "internalType": "struct DelegatedRevocationRequest", - "name": "delegatedRequest", - "type": "tuple" - } - ], - "name": "revokeByDelegation", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "data", - "type": "bytes32" - } - ], - "name": "revokeOffchain", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "data", - "type": "bytes32" - } - ], - "name": "timestamp", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "devdoc": { - "events": { - "Attested(address,address,bytes32,bytes32)": { - "params": { - "attester": "The attesting account.", - "recipient": "The recipient of the attestation.", - "schemaUID": "The UID of the schema.", - "uid": "The UID of the new attestation." - } - }, - "Revoked(address,address,bytes32,bytes32)": { - "params": { - "attester": "The attesting account.", - "recipient": "The recipient of the attestation.", - "schemaUID": "The UID of the schema.", - "uid": "The UID the revoked attestation." - } - }, - "RevokedOffchain(address,bytes32,uint64)": { - "params": { - "data": "The data.", - "revoker": "The address of the revoker.", - "timestamp": "The timestamp." - } - }, - "Timestamped(bytes32,uint64)": { - "params": { - "data": "The data.", - "timestamp": "The timestamp." - } - } - }, - "kind": "dev", - "methods": { - "attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))": { - "params": { - "request": "The arguments of the attestation request." - }, - "returns": { - "_0": "The UID of the new attestation. Example: attest({ schema: \"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\", data: { recipient: \"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\", expirationTime: 0, revocable: true, refUID: \"0x0000000000000000000000000000000000000000000000000000000000000000\", data: \"0xF00D\", value: 0 } })" - } - }, - "attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))": { - "params": { - "delegatedRequest": "The arguments of the delegated attestation request." - }, - "returns": { - "_0": "The UID of the new attestation. Example: attestByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, signature: { v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e', deadline: 1673891048 })" - } - }, - "getAttestation(bytes32)": { - "params": { - "uid": "The UID of the attestation to retrieve." - }, - "returns": { - "_0": "The attestation data members." - } - }, - "getRevokeOffchain(address,bytes32)": { - "params": { - "data": "The data to query." - }, - "returns": { - "_0": "The timestamp the data was timestamped with." - } - }, - "getSchemaRegistry()": { - "returns": { - "_0": "The address of the global schema registry." - } - }, - "getTimestamp(bytes32)": { - "params": { - "data": "The data to query." - }, - "returns": { - "_0": "The timestamp the data was timestamped with." - } - }, - "isAttestationValid(bytes32)": { - "params": { - "uid": "The UID of the attestation to retrieve." - }, - "returns": { - "_0": "Whether an attestation exists." - } - }, - "multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])": { - "params": { - "multiRequests": "The arguments of the multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization." - }, - "returns": { - "_0": "The UIDs of the new attestations. Example: multiAttest([{ schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd', data: [{ recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 1000 }, { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 0, revocable: false, refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174', data: '0x00', value: 0 }], }, { schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', data: [{ recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: true, refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f', data: '0x12345678', value: 0 }, }])" - } - }, - "multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": { - "params": { - "multiDelegatedRequests": "The arguments of the delegated multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization." - }, - "returns": { - "_0": "The UIDs of the new attestations. Example: multiAttestByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, { recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: false, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x00', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4', deadline: 1673891048 }])" - } - }, - "multiRevoke((bytes32,(bytes32,uint256)[])[])": { - "params": { - "multiRequests": "The arguments of the multi revocation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization. Example: multiRevoke([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], }, { schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', data: [{ uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019', value: 0 }, }])" - } - }, - "multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": { - "params": { - "multiDelegatedRequests": "The arguments of the delegated multi revocation attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization. Example: multiRevokeByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 }])" - } - }, - "multiRevokeOffchain(bytes32[])": { - "params": { - "data": "The data to timestamp." - }, - "returns": { - "_0": "The timestamp the data was revoked with." - } - }, - "multiTimestamp(bytes32[])": { - "params": { - "data": "The data to timestamp." - }, - "returns": { - "_0": "The timestamp the data was timestamped with." - } - }, - "revoke((bytes32,(bytes32,uint256)))": { - "params": { - "request": "The arguments of the revocation request. Example: revoke({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d', value: 0 } })" - } - }, - "revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))": { - "params": { - "delegatedRequest": "The arguments of the delegated revocation request. Example: revokeByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba', value: 0 }, signature: { v: 27, r: '0xb593...7142', s: '0x0f5b...2cce' }, revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 })" - } - }, - "revokeOffchain(bytes32)": { - "params": { - "data": "The data to timestamp." - }, - "returns": { - "_0": "The timestamp the data was revoked with." - } - }, - "timestamp(bytes32)": { - "params": { - "data": "The data to timestamp." - }, - "returns": { - "_0": "The timestamp the data was timestamped with." - } - }, - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "IEAS", - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))": "f17325e7", - "attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))": "3c042715", - "getAttestation(bytes32)": "a3112a64", - "getRevokeOffchain(address,bytes32)": "b469318d", - "getSchemaRegistry()": "f10b5cc8", - "getTimestamp(bytes32)": "d45c4435", - "isAttestationValid(bytes32)": "e30bb563", - "multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])": "44adc90e", - "multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": "95411525", - "multiRevoke((bytes32,(bytes32,uint256)[])[])": "4cb7e9e5", - "multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": "0eabf660", - "multiRevokeOffchain(bytes32[])": "13893f61", - "multiTimestamp(bytes32[])": "e71ff365", - "revoke((bytes32,(bytes32,uint256)))": "46926267", - "revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))": "a6d4dbc7", - "revokeOffchain(bytes32)": "cf190f34", - "timestamp(bytes32)": "4d003070", - "version()": "54fd4d50" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"schemaUID\",\"type\":\"bytes32\"}],\"name\":\"Attested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"schemaUID\",\"type\":\"bytes32\"}],\"name\":\"Revoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"RevokedOffchain\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"Timestamped\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct AttestationRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData\",\"name\":\"data\",\"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\":\"signature\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct DelegatedAttestationRequest\",\"name\":\"delegatedRequest\",\"type\":\"tuple\"}],\"name\":\"attestByDelegation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"getAttestation\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"getRevokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSchemaRegistry\",\"outputs\":[{\"internalType\":\"contract ISchemaRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"isAttestationValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"}],\"internalType\":\"struct MultiAttestationRequest[]\",\"name\":\"multiRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData[]\",\"name\":\"data\",\"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\":\"signatures\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct MultiDelegatedAttestationRequest[]\",\"name\":\"multiDelegatedRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiAttestByDelegation\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"}],\"internalType\":\"struct MultiRevocationRequest[]\",\"name\":\"multiRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiRevoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData[]\",\"name\":\"data\",\"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\":\"signatures\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct MultiDelegatedRevocationRequest[]\",\"name\":\"multiDelegatedRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiRevokeByDelegation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"multiRevokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"multiTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct RevocationRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData\",\"name\":\"data\",\"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\":\"signature\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct DelegatedRevocationRequest\",\"name\":\"delegatedRequest\",\"type\":\"tuple\"}],\"name\":\"revokeByDelegation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"revokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"timestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Attested(address,address,bytes32,bytes32)\":{\"params\":{\"attester\":\"The attesting account.\",\"recipient\":\"The recipient of the attestation.\",\"schemaUID\":\"The UID of the schema.\",\"uid\":\"The UID of the new attestation.\"}},\"Revoked(address,address,bytes32,bytes32)\":{\"params\":{\"attester\":\"The attesting account.\",\"recipient\":\"The recipient of the attestation.\",\"schemaUID\":\"The UID of the schema.\",\"uid\":\"The UID the revoked attestation.\"}},\"RevokedOffchain(address,bytes32,uint64)\":{\"params\":{\"data\":\"The data.\",\"revoker\":\"The address of the revoker.\",\"timestamp\":\"The timestamp.\"}},\"Timestamped(bytes32,uint64)\":{\"params\":{\"data\":\"The data.\",\"timestamp\":\"The timestamp.\"}}},\"kind\":\"dev\",\"methods\":{\"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))\":{\"params\":{\"request\":\"The arguments of the attestation request.\"},\"returns\":{\"_0\":\"The UID of the new attestation. Example: attest({ schema: \\\"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\\\", data: { recipient: \\\"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\\\", expirationTime: 0, revocable: true, refUID: \\\"0x0000000000000000000000000000000000000000000000000000000000000000\\\", data: \\\"0xF00D\\\", value: 0 } })\"}},\"attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"params\":{\"delegatedRequest\":\"The arguments of the delegated attestation request.\"},\"returns\":{\"_0\":\"The UID of the new attestation. Example: attestByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, signature: { v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e', deadline: 1673891048 })\"}},\"getAttestation(bytes32)\":{\"params\":{\"uid\":\"The UID of the attestation to retrieve.\"},\"returns\":{\"_0\":\"The attestation data members.\"}},\"getRevokeOffchain(address,bytes32)\":{\"params\":{\"data\":\"The data to query.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"getSchemaRegistry()\":{\"returns\":{\"_0\":\"The address of the global schema registry.\"}},\"getTimestamp(bytes32)\":{\"params\":{\"data\":\"The data to query.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"isAttestationValid(bytes32)\":{\"params\":{\"uid\":\"The UID of the attestation to retrieve.\"},\"returns\":{\"_0\":\"Whether an attestation exists.\"}},\"multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])\":{\"params\":{\"multiRequests\":\"The arguments of the multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization.\"},\"returns\":{\"_0\":\"The UIDs of the new attestations. Example: multiAttest([{ schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd', data: [{ recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 1000 }, { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 0, revocable: false, refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174', data: '0x00', value: 0 }], }, { schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', data: [{ recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: true, refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f', data: '0x12345678', value: 0 }, }])\"}},\"multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"params\":{\"multiDelegatedRequests\":\"The arguments of the delegated multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization.\"},\"returns\":{\"_0\":\"The UIDs of the new attestations. Example: multiAttestByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, { recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: false, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x00', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4', deadline: 1673891048 }])\"}},\"multiRevoke((bytes32,(bytes32,uint256)[])[])\":{\"params\":{\"multiRequests\":\"The arguments of the multi revocation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization. Example: multiRevoke([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], }, { schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425', data: [{ uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019', value: 0 }, }])\"}},\"multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"params\":{\"multiDelegatedRequests\":\"The arguments of the delegated multi revocation attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization. Example: multiRevokeByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 }])\"}},\"multiRevokeOffchain(bytes32[])\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was revoked with.\"}},\"multiTimestamp(bytes32[])\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"revoke((bytes32,(bytes32,uint256)))\":{\"params\":{\"request\":\"The arguments of the revocation request. Example: revoke({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d', value: 0 } })\"}},\"revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"params\":{\"delegatedRequest\":\"The arguments of the delegated revocation request. Example: revokeByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba', value: 0 }, signature: { v: 27, r: '0xb593...7142', s: '0x0f5b...2cce' }, revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 })\"}},\"revokeOffchain(bytes32)\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was revoked with.\"}},\"timestamp(bytes32)\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"IEAS\",\"version\":1},\"userdoc\":{\"events\":{\"Attested(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted when an attestation has been made.\"},\"Revoked(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted when an attestation has been revoked.\"},\"RevokedOffchain(address,bytes32,uint64)\":{\"notice\":\"Emitted when a data has been revoked.\"},\"Timestamped(bytes32,uint64)\":{\"notice\":\"Emitted when a data has been timestamped.\"}},\"kind\":\"user\",\"methods\":{\"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))\":{\"notice\":\"Attests to a specific schema.\"},\"attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"notice\":\"Attests to a specific schema via the provided ECDSA signature.\"},\"getAttestation(bytes32)\":{\"notice\":\"Returns an existing attestation by UID.\"},\"getRevokeOffchain(address,bytes32)\":{\"notice\":\"Returns the timestamp that the specified data was timestamped with.\"},\"getSchemaRegistry()\":{\"notice\":\"Returns the address of the global schema registry.\"},\"getTimestamp(bytes32)\":{\"notice\":\"Returns the timestamp that the specified data was timestamped with.\"},\"isAttestationValid(bytes32)\":{\"notice\":\"Checks whether an attestation exists.\"},\"multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])\":{\"notice\":\"Attests to multiple schemas.\"},\"multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"notice\":\"Attests to multiple schemas using via provided ECDSA signatures.\"},\"multiRevoke((bytes32,(bytes32,uint256)[])[])\":{\"notice\":\"Revokes existing attestations to multiple schemas.\"},\"multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"notice\":\"Revokes existing attestations to multiple schemas via provided ECDSA signatures.\"},\"multiRevokeOffchain(bytes32[])\":{\"notice\":\"Revokes the specified multiple bytes32 data.\"},\"multiTimestamp(bytes32[])\":{\"notice\":\"Timestamps the specified multiple bytes32 data.\"},\"revoke((bytes32,(bytes32,uint256)))\":{\"notice\":\"Revokes an existing attestation to a specific schema.\"},\"revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"notice\":\"Revokes an existing attestation to a specific schema via the provided ECDSA signature.\"},\"revokeOffchain(bytes32)\":{\"notice\":\"Revokes the specified bytes32 data.\"},\"timestamp(bytes32)\":{\"notice\":\"Timestamps the specified bytes32 data.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"EAS - Ethereum Attestation Service interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/IEAS.sol\":\"IEAS\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/IEAS.sol\":{\"keccak256\":\"0xdc4fed434a7d7907767ba1dc6a8e9ddc94ede6df08fbea5d827077ef22e8bd8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://297555c22ff767608088c01ba2efe6da4dff7e95b7eb614e09d72cb36d0c989b\",\"dweb:/ipfs/QmQ7YWcBxiaf2mXZL1VLFsYSJPtVTHbWSBuimATVLMC7U4\"]},\"EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749\",\"dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "events": { - "Attested(address,address,bytes32,bytes32)": { - "notice": "Emitted when an attestation has been made." - }, - "Revoked(address,address,bytes32,bytes32)": { - "notice": "Emitted when an attestation has been revoked." - }, - "RevokedOffchain(address,bytes32,uint64)": { - "notice": "Emitted when a data has been revoked." - }, - "Timestamped(bytes32,uint64)": { - "notice": "Emitted when a data has been timestamped." - } - }, - "kind": "user", - "methods": { - "attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))": { - "notice": "Attests to a specific schema." - }, - "attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))": { - "notice": "Attests to a specific schema via the provided ECDSA signature." - }, - "getAttestation(bytes32)": { - "notice": "Returns an existing attestation by UID." - }, - "getRevokeOffchain(address,bytes32)": { - "notice": "Returns the timestamp that the specified data was timestamped with." - }, - "getSchemaRegistry()": { - "notice": "Returns the address of the global schema registry." - }, - "getTimestamp(bytes32)": { - "notice": "Returns the timestamp that the specified data was timestamped with." - }, - "isAttestationValid(bytes32)": { - "notice": "Checks whether an attestation exists." - }, - "multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])": { - "notice": "Attests to multiple schemas." - }, - "multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": { - "notice": "Attests to multiple schemas using via provided ECDSA signatures." - }, - "multiRevoke((bytes32,(bytes32,uint256)[])[])": { - "notice": "Revokes existing attestations to multiple schemas." - }, - "multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])": { - "notice": "Revokes existing attestations to multiple schemas via provided ECDSA signatures." - }, - "multiRevokeOffchain(bytes32[])": { - "notice": "Revokes the specified multiple bytes32 data." - }, - "multiTimestamp(bytes32[])": { - "notice": "Timestamps the specified multiple bytes32 data." - }, - "revoke((bytes32,(bytes32,uint256)))": { - "notice": "Revokes an existing attestation to a specific schema." - }, - "revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))": { - "notice": "Revokes an existing attestation to a specific schema via the provided ECDSA signature." - }, - "revokeOffchain(bytes32)": { - "notice": "Revokes the specified bytes32 data." - }, - "timestamp(bytes32)": { - "notice": "Timestamps the specified bytes32 data." - }, - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "notice": "EAS - Ethereum Attestation Service interface.", - "version": 1 - } - } - }, - "EAS/ISchemaRegistry.sol": { - "ISchemaRegistry": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "registerer", - "type": "address" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "contract ISchemaResolver", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "string", - "name": "schema", - "type": "string" - } - ], - "indexed": false, - "internalType": "struct SchemaRecord", - "name": "schema", - "type": "tuple" - } - ], - "name": "Registered", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - } - ], - "name": "getSchema", - "outputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "contract ISchemaResolver", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "string", - "name": "schema", - "type": "string" - } - ], - "internalType": "struct SchemaRecord", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "schema", - "type": "string" - }, - { - "internalType": "contract ISchemaResolver", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - } - ], - "name": "register", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "devdoc": { - "events": { - "Registered(bytes32,address,(bytes32,address,bool,string))": { - "params": { - "registerer": "The address of the account used to register the schema.", - "schema": "The schema data.", - "uid": "The schema UID." - } - } - }, - "kind": "dev", - "methods": { - "getSchema(bytes32)": { - "params": { - "uid": "The UID of the schema to retrieve." - }, - "returns": { - "_0": "The schema data members." - } - }, - "register(string,address,bool)": { - "params": { - "resolver": "An optional schema resolver.", - "revocable": "Whether the schema allows revocations explicitly.", - "schema": "The schema data schema." - }, - "returns": { - "_0": "The UID of the new schema." - } - }, - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "ISchemaRegistry", - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "getSchema(bytes32)": "a2ea7c6e", - "register(string,address,bool)": "60d7a278", - "version()": "54fd4d50" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"registerer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct SchemaRecord\",\"name\":\"schema\",\"type\":\"tuple\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"getSchema\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"}],\"internalType\":\"struct SchemaRecord\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"},{\"internalType\":\"contract ISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Registered(bytes32,address,(bytes32,address,bool,string))\":{\"params\":{\"registerer\":\"The address of the account used to register the schema.\",\"schema\":\"The schema data.\",\"uid\":\"The schema UID.\"}}},\"kind\":\"dev\",\"methods\":{\"getSchema(bytes32)\":{\"params\":{\"uid\":\"The UID of the schema to retrieve.\"},\"returns\":{\"_0\":\"The schema data members.\"}},\"register(string,address,bool)\":{\"params\":{\"resolver\":\"An optional schema resolver.\",\"revocable\":\"Whether the schema allows revocations explicitly.\",\"schema\":\"The schema data schema.\"},\"returns\":{\"_0\":\"The UID of the new schema.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"ISchemaRegistry\",\"version\":1},\"userdoc\":{\"events\":{\"Registered(bytes32,address,(bytes32,address,bool,string))\":{\"notice\":\"Emitted when a new schema has been registered\"}},\"kind\":\"user\",\"methods\":{\"getSchema(bytes32)\":{\"notice\":\"Returns an existing schema by UID\"},\"register(string,address,bool)\":{\"notice\":\"Submits and reserves a new schema\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"The interface of global attestation schemas for the Ethereum Attestation Service protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/ISchemaRegistry.sol\":\"ISchemaRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749\",\"dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "events": { - "Registered(bytes32,address,(bytes32,address,bool,string))": { - "notice": "Emitted when a new schema has been registered" - } - }, - "kind": "user", - "methods": { - "getSchema(bytes32)": { - "notice": "Returns an existing schema by UID" - }, - "register(string,address,bool)": { - "notice": "Submits and reserves a new schema" - }, - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "notice": "The interface of global attestation schemas for the Ethereum Attestation Service protocol.", - "version": 1 - } - } - }, - "EAS/ISchemaResolver.sol": { - "ISchemaResolver": { - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "attestation", - "type": "tuple" - } - ], - "name": "attest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "isPayable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation[]", - "name": "attestations", - "type": "tuple[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multiAttest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation[]", - "name": "attestations", - "type": "tuple[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multiRevoke", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "attestation", - "type": "tuple" - } - ], - "name": "revoke", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "params": { - "attestation": "The new attestation." - }, - "returns": { - "_0": "Whether the attestation is valid." - } - }, - "isPayable()": { - "returns": { - "_0": "Whether the resolver supports ETH transfers." - } - }, - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "params": { - "attestations": "The new attestations.", - "values": "Explicit ETH amounts which were sent with each attestation." - }, - "returns": { - "_0": "Whether all the attestations are valid." - } - }, - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "params": { - "attestations": "The existing attestations to be revoked.", - "values": "Explicit ETH amounts which were sent with each revocation." - }, - "returns": { - "_0": "Whether the attestations can be revoked." - } - }, - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "params": { - "attestation": "The existing attestation to be revoked." - }, - "returns": { - "_0": "Whether the attestation can be revoked." - } - }, - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "ISchemaResolver", - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", - "isPayable()": "ce46e046", - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", - "version()": "54fd4d50" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPayable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiRevoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The new attestation.\"},\"returns\":{\"_0\":\"Whether the attestation is valid.\"}},\"isPayable()\":{\"returns\":{\"_0\":\"Whether the resolver supports ETH transfers.\"}},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The new attestations.\",\"values\":\"Explicit ETH amounts which were sent with each attestation.\"},\"returns\":{\"_0\":\"Whether all the attestations are valid.\"}},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The existing attestations to be revoked.\",\"values\":\"Explicit ETH amounts which were sent with each revocation.\"},\"returns\":{\"_0\":\"Whether the attestations can be revoked.\"}},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The existing attestation to be revoked.\"},\"returns\":{\"_0\":\"Whether the attestation can be revoked.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"ISchemaResolver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation and verifies whether it's valid.\"},\"isPayable()\":{\"notice\":\"Checks if the resolver can be sent ETH.\"},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes multiple attestations and verifies whether they are valid.\"},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes revocation of multiple attestation and verifies they can be revoked.\"},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation revocation and verifies if it can be revoked.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"The interface of an optional schema resolver.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/ISchemaResolver.sol\":\"ISchemaResolver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "notice": "Processes an attestation and verifies whether it's valid." - }, - "isPayable()": { - "notice": "Checks if the resolver can be sent ETH." - }, - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "notice": "Processes multiple attestations and verifies whether they are valid." - }, - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "notice": "Processes revocation of multiple attestation and verifies they can be revoked." - }, - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "notice": "Processes an attestation revocation and verifies if it can be revoked." - }, - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "notice": "The interface of an optional schema resolver.", - "version": 1 - } - } - }, - "EAS/ISemver.sol": { - "ISemver": { - "abi": [ - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "ISemver", - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "version()": "54fd4d50" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"ISemver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"A semver interface.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/ISemver.sol\":\"ISemver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": { - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "notice": "A semver interface.", - "version": 1 - } - } - }, - "EAS/SchemaResolver.sol": { - "SchemaResolver": { - "abi": [ - { - "inputs": [], - "name": "AccessDenied", - "type": "error" - }, - { - "inputs": [], - "name": "InsufficientValue", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidEAS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidLength", - "type": "error" - }, - { - "inputs": [], - "name": "NotPayable", - "type": "error" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "attestation", - "type": "tuple" - } - ], - "name": "attest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "isPayable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation[]", - "name": "attestations", - "type": "tuple[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multiAttest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation[]", - "name": "attestations", - "type": "tuple[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multiRevoke", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "attestation", - "type": "tuple" - } - ], - "name": "revoke", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "params": { - "attestation": "The new attestation." - }, - "returns": { - "_0": "Whether the attestation is valid." - } - }, - "constructor": { - "details": "Creates a new resolver.", - "params": { - "eas": "The address of the global EAS contract." - } - }, - "isPayable()": { - "returns": { - "_0": "Whether the resolver supports ETH transfers." - } - }, - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "params": { - "attestations": "The new attestations.", - "values": "Explicit ETH amounts which were sent with each attestation." - }, - "returns": { - "_0": "Whether all the attestations are valid." - } - }, - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "params": { - "attestations": "The existing attestations to be revoked.", - "values": "Explicit ETH amounts which were sent with each revocation." - }, - "returns": { - "_0": "Whether the attestations can be revoked." - } - }, - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "params": { - "attestation": "The existing attestation to be revoked." - }, - "returns": { - "_0": "Whether the attestation can be revoked." - } - }, - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "SchemaResolver", - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", - "isPayable()": "ce46e046", - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", - "version()": "54fd4d50" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEAS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPayable\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPayable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiRevoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The new attestation.\"},\"returns\":{\"_0\":\"Whether the attestation is valid.\"}},\"constructor\":{\"details\":\"Creates a new resolver.\",\"params\":{\"eas\":\"The address of the global EAS contract.\"}},\"isPayable()\":{\"returns\":{\"_0\":\"Whether the resolver supports ETH transfers.\"}},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The new attestations.\",\"values\":\"Explicit ETH amounts which were sent with each attestation.\"},\"returns\":{\"_0\":\"Whether all the attestations are valid.\"}},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The existing attestations to be revoked.\",\"values\":\"Explicit ETH amounts which were sent with each revocation.\"},\"returns\":{\"_0\":\"Whether the attestations can be revoked.\"}},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The existing attestation to be revoked.\"},\"returns\":{\"_0\":\"Whether the attestation can be revoked.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"SchemaResolver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation and verifies whether it's valid.\"},\"isPayable()\":{\"notice\":\"Checks if the resolver can be sent ETH.\"},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes multiple attestations and verifies whether they are valid.\"},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes revocation of multiple attestation and verifies they can be revoked.\"},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation revocation and verifies if it can be revoked.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"The base schema resolver contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/SchemaResolver.sol\":\"SchemaResolver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/IEAS.sol\":{\"keccak256\":\"0xdc4fed434a7d7907767ba1dc6a8e9ddc94ede6df08fbea5d827077ef22e8bd8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://297555c22ff767608088c01ba2efe6da4dff7e95b7eb614e09d72cb36d0c989b\",\"dweb:/ipfs/QmQ7YWcBxiaf2mXZL1VLFsYSJPtVTHbWSBuimATVLMC7U4\"]},\"EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749\",\"dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]},\"EAS/SchemaResolver.sol\":{\"keccak256\":\"0xb6dc636c973996ca481d6522decae3ecae8c043c8d2ca5228e8f53a6c0210951\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7f2f9db27662ba6aea6be58351e1cc834a1c84122a6cecfcb6d293628a1364\",\"dweb:/ipfs/QmTkQ7gDaJaY4tgneQyNxmbz9AovJQmMfuZgG8akbAqu5K\"]},\"EAS/Semver.sol\":{\"keccak256\":\"0xcb67b60a08b4acb41ccda1ee2a44bb3d4291f3da9ecd60eed49991bdbfafb972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eea3e91b983ce442be39c0a88c93627043d1c6de342be99562916a948a5933e3\",\"dweb:/ipfs/QmTFeE2vsjwn1pNeSMWAoQ4NivUTHza5DYMgJA854Ddx8F\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "notice": "Processes an attestation and verifies whether it's valid." - }, - "isPayable()": { - "notice": "Checks if the resolver can be sent ETH." - }, - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "notice": "Processes multiple attestations and verifies whether they are valid." - }, - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "notice": "Processes revocation of multiple attestation and verifies they can be revoked." - }, - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "notice": "Processes an attestation revocation and verifies if it can be revoked." - }, - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "notice": "The base schema resolver contract.", - "version": 1 - } - } - }, - "EAS/Semver.sol": { - "Semver": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "major", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minor", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "patch", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "constructor": { - "details": "Create a new Semver instance.", - "params": { - "major": "Major version number.", - "minor": "Minor version number.", - "patch": "Patch version number." - } - }, - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "Semver", - "version": 1 - }, - "evm": { - "assembly": " /* \"EAS/Semver.sol\":250:1182 contract Semver is ISemver {... */\n mstore(0x40, 0xe0)\n /* \"EAS/Semver.sol\":692:828 constructor(uint256 major, uint256 minor, uint256 patch) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"EAS/Semver.sol\":768:773 major */\n dup3\n /* \"EAS/Semver.sol\":759:773 _major = major */\n 0x80\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":792:797 minor */\n dup2\n /* \"EAS/Semver.sol\":783:797 _minor = minor */\n 0xa0\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":816:821 patch */\n dup1\n /* \"EAS/Semver.sol\":807:821 _patch = patch */\n 0xc0\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":692:828 constructor(uint256 major, uint256 minor, uint256 patch) {... */\n pop\n pop\n pop\n /* \"EAS/Semver.sol\":250:1182 contract Semver is ISemver {... */\n jump(tag_6)\n /* \"#utility.yul\":88:205 */\ntag_8:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:411 */\ntag_10:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\ntag_11:\n /* \"#utility.yul\":490:514 */\n tag_19\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_10\n jump\t// in\ntag_19:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_20\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\ntag_20:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:688 */\ntag_12:\n /* \"#utility.yul\":602:607 */\n 0x00\n /* \"#utility.yul\":633:639 */\n dup2\n /* \"#utility.yul\":627:640 */\n mload\n /* \"#utility.yul\":618:640 */\n swap1\n pop\n /* \"#utility.yul\":649:682 */\n tag_22\n /* \"#utility.yul\":676:681 */\n dup2\n /* \"#utility.yul\":649:682 */\n tag_11\n jump\t// in\ntag_22:\n /* \"#utility.yul\":545:688 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":694:1357 */\ntag_3:\n /* \"#utility.yul\":782:788 */\n 0x00\n /* \"#utility.yul\":790:796 */\n dup1\n /* \"#utility.yul\":798:804 */\n 0x00\n /* \"#utility.yul\":847:849 */\n 0x60\n /* \"#utility.yul\":835:844 */\n dup5\n /* \"#utility.yul\":826:833 */\n dup7\n /* \"#utility.yul\":822:845 */\n sub\n /* \"#utility.yul\":818:850 */\n slt\n /* \"#utility.yul\":815:934 */\n iszero\n tag_24\n jumpi\n /* \"#utility.yul\":853:932 */\n tag_25\n tag_8\n jump\t// in\ntag_25:\n /* \"#utility.yul\":815:934 */\ntag_24:\n /* \"#utility.yul\":973:974 */\n 0x00\n /* \"#utility.yul\":998:1062 */\n tag_26\n /* \"#utility.yul\":1054:1061 */\n dup7\n /* \"#utility.yul\":1045:1051 */\n dup3\n /* \"#utility.yul\":1034:1043 */\n dup8\n /* \"#utility.yul\":1030:1052 */\n add\n /* \"#utility.yul\":998:1062 */\n tag_12\n jump\t// in\ntag_26:\n /* \"#utility.yul\":988:1062 */\n swap4\n pop\n /* \"#utility.yul\":944:1072 */\n pop\n /* \"#utility.yul\":1111:1113 */\n 0x20\n /* \"#utility.yul\":1137:1201 */\n tag_27\n /* \"#utility.yul\":1193:1200 */\n dup7\n /* \"#utility.yul\":1184:1190 */\n dup3\n /* \"#utility.yul\":1173:1182 */\n dup8\n /* \"#utility.yul\":1169:1191 */\n add\n /* \"#utility.yul\":1137:1201 */\n tag_12\n jump\t// in\ntag_27:\n /* \"#utility.yul\":1127:1201 */\n swap3\n pop\n /* \"#utility.yul\":1082:1211 */\n pop\n /* \"#utility.yul\":1250:1252 */\n 0x40\n /* \"#utility.yul\":1276:1340 */\n tag_28\n /* \"#utility.yul\":1332:1339 */\n dup7\n /* \"#utility.yul\":1323:1329 */\n dup3\n /* \"#utility.yul\":1312:1321 */\n dup8\n /* \"#utility.yul\":1308:1330 */\n add\n /* \"#utility.yul\":1276:1340 */\n tag_12\n jump\t// in\ntag_28:\n /* \"#utility.yul\":1266:1340 */\n swap2\n pop\n /* \"#utility.yul\":1221:1350 */\n pop\n /* \"#utility.yul\":694:1357 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"EAS/Semver.sol\":250:1182 contract Semver is ISemver {... */\ntag_6:\n mload(0x80)\n mload(0xa0)\n mload(0xc0)\n codecopy(0x00, dataOffset(sub_0), dataSize(sub_0))\n 0x00\n assignImmutable(\"0xb264290b39caa425e41c2393e10056c6bf6aefcb7750f619dd0d6dd4d035e225\")\n 0x00\n assignImmutable(\"0x4898df15ec6590495dc6c0fedf951ade3e64001d47f9caf44a64e86fc11959df\")\n 0x00\n assignImmutable(\"0x08b2c4590c6811ffb7cb8659cd18fb3368dba395a633f764dbf449be06307fe1\")\n return(0x00, dataSize(sub_0))\nstop\n\nsub_0: assembly {\n /* \"EAS/Semver.sol\":250:1182 contract Semver is ISemver {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x54fd4d50\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n tag_3:\n tag_4\n tag_5\n jump\t// in\n tag_4:\n mload(0x40)\n tag_6\n swap2\n swap1\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_5:\n /* \"EAS/Semver.sol\":987:1000 string memory */\n 0x60\n /* \"EAS/Semver.sol\":1072:1096 Strings.toString(_major) */\n tag_9\n /* \"EAS/Semver.sol\":1089:1095 _major */\n immutable(\"0x08b2c4590c6811ffb7cb8659cd18fb3368dba395a633f764dbf449be06307fe1\")\n /* \"EAS/Semver.sol\":1072:1088 Strings.toString */\n tag_10\n /* \"EAS/Semver.sol\":1072:1096 Strings.toString(_major) */\n jump\t// in\n tag_9:\n /* \"EAS/Semver.sol\":1103:1127 Strings.toString(_minor) */\n tag_11\n /* \"EAS/Semver.sol\":1120:1126 _minor */\n immutable(\"0x4898df15ec6590495dc6c0fedf951ade3e64001d47f9caf44a64e86fc11959df\")\n /* \"EAS/Semver.sol\":1103:1119 Strings.toString */\n tag_10\n /* \"EAS/Semver.sol\":1103:1127 Strings.toString(_minor) */\n jump\t// in\n tag_11:\n /* \"EAS/Semver.sol\":1134:1158 Strings.toString(_patch) */\n tag_12\n /* \"EAS/Semver.sol\":1151:1157 _patch */\n immutable(\"0xb264290b39caa425e41c2393e10056c6bf6aefcb7750f619dd0d6dd4d035e225\")\n /* \"EAS/Semver.sol\":1134:1150 Strings.toString */\n tag_10\n /* \"EAS/Semver.sol\":1134:1158 Strings.toString(_patch) */\n jump\t// in\n tag_12:\n /* \"EAS/Semver.sol\":1055:1159 abi.encodePacked(Strings.toString(_major), \".\", Strings.toString(_minor), \".\", Strings.toString(_patch)) */\n add(0x20, mload(0x40))\n tag_13\n swap4\n swap3\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"EAS/Semver.sol\":1012:1173 return... */\n swap1\n pop\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n swap1\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Strings.sol\":637:1335 function toString(uint256 value) internal pure returns (string memory) {... */\n tag_10:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":693:706 string memory */\n 0x60\n /* \"@openzeppelin/contracts/utils/Strings.sol\":742:756 uint256 length */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":779:780 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:776 Math.log10(value) */\n tag_16\n /* \"@openzeppelin/contracts/utils/Strings.sol\":770:775 value */\n dup5\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:769 Math.log10 */\n tag_17\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:776 Math.log10(value) */\n jump\t// in\n tag_16:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:780 Math.log10(value) + 1 */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":742:780 uint256 length = Math.log10(value) + 1 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":794:814 string memory buffer */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":828:834 length */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":817:835 new string(length) */\n 0xffffffffffffffff\n dup2\n gt\n iszero\n tag_18\n jumpi\n tag_19\n tag_20\n jump\t// in\n tag_19:\n tag_18:\n mload(0x40)\n swap1\n dup1\n dup3\n mstore\n dup1\n 0x1f\n add\n not(0x1f)\n and\n 0x20\n add\n dup3\n add\n 0x40\n mstore\n dup1\n iszero\n tag_21\n jumpi\n dup2\n 0x20\n add\n 0x01\n dup3\n mul\n dup1\n calldatasize\n dup4\n calldatacopy\n dup1\n dup3\n add\n swap2\n pop\n pop\n swap1\n pop\n tag_21:\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":794:835 string memory buffer = new string(length) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":849:860 uint256 ptr */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":975:981 length */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":971:973 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/Strings.sol\":967:982 add(32, length) */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":959:965 buffer */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":955:983 add(buffer, add(32, length)) */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":948:983 ptr := add(buffer, add(32, length)) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_22:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1017:1021 true */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n iszero\n tag_23\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1041:1046 ptr-- */\n dup1\n dup1\n 0x01\n swap1\n sub\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1180:1190 HEX_DIGITS */\n 0x3031323334353637383961626364656600000000000000000000000000000000\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1175:1177 10 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1168:1173 value */\n dup7\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1164:1178 mod(value, 10) */\n mod\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1159:1191 byte(mod(value, 10), HEX_DIGITS) */\n byte\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1154:1157 ptr */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1146:1192 mstore8(ptr, byte(mod(value, 10), HEX_DIGITS)) */\n mstore8\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1236:1238 10 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1227:1238 value /= 10 */\n dup6\n dup2\n tag_24\n jumpi\n tag_25\n tag_26\n jump\t// in\n tag_25:\n tag_24:\n div\n swap5\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1269:1270 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1260:1265 value */\n dup6\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1260:1270 value == 0 */\n sub\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_22\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1256:1277 if (value == 0) break */\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_23:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1312:1318 buffer */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1305:1318 return buffer */\n swap4\n pop\n pop\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":637:1335 function toString(uint256 value) internal pure returns (string memory) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12214:13130 function log10(uint256 value) internal pure returns (uint256) {... */\n tag_17:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12267:12274 uint256 */\n 0x00\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12286:12300 uint256 result */\n dup1\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12303:12304 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12286:12304 uint256 result = 0 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12351:12359 10 ** 64 */\n 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12342:12347 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12342:12359 value >= 10 ** 64 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12338:12441 if (value >= 10 ** 64) {... */\n tag_29\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12388:12396 10 ** 64 */\n 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12379:12396 value /= 10 ** 64 */\n dup4\n dup2\n tag_30\n jumpi\n tag_31\n tag_26\n jump\t// in\n tag_31:\n tag_30:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12424:12426 64 */\n 0x40\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12414:12426 result += 64 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12338:12441 if (value >= 10 ** 64) {... */\n tag_29:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12467:12475 10 ** 32 */\n 0x04ee2d6d415b85acef8100000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12458:12463 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12458:12475 value >= 10 ** 32 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12454:12557 if (value >= 10 ** 32) {... */\n tag_32\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12504:12512 10 ** 32 */\n 0x04ee2d6d415b85acef8100000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12495:12512 value /= 10 ** 32 */\n dup4\n dup2\n tag_33\n jumpi\n tag_34\n tag_26\n jump\t// in\n tag_34:\n tag_33:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12540:12542 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12530:12542 result += 32 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12454:12557 if (value >= 10 ** 32) {... */\n tag_32:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12583:12591 10 ** 16 */\n 0x2386f26fc10000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12574:12579 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12574:12591 value >= 10 ** 16 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12570:12673 if (value >= 10 ** 16) {... */\n tag_35\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12620:12628 10 ** 16 */\n 0x2386f26fc10000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12611:12628 value /= 10 ** 16 */\n dup4\n dup2\n tag_36\n jumpi\n tag_37\n tag_26\n jump\t// in\n tag_37:\n tag_36:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12656:12658 16 */\n 0x10\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12646:12658 result += 16 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12570:12673 if (value >= 10 ** 16) {... */\n tag_35:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12699:12706 10 ** 8 */\n 0x05f5e100\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12690:12695 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12690:12706 value >= 10 ** 8 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12686:12786 if (value >= 10 ** 8) {... */\n tag_38\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12735:12742 10 ** 8 */\n 0x05f5e100\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12726:12742 value /= 10 ** 8 */\n dup4\n dup2\n tag_39\n jumpi\n tag_40\n tag_26\n jump\t// in\n tag_40:\n tag_39:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12770:12771 8 */\n 0x08\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12760:12771 result += 8 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12686:12786 if (value >= 10 ** 8) {... */\n tag_38:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12812:12819 10 ** 4 */\n 0x2710\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12803:12808 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12803:12819 value >= 10 ** 4 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12799:12899 if (value >= 10 ** 4) {... */\n tag_41\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12848:12855 10 ** 4 */\n 0x2710\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12839:12855 value /= 10 ** 4 */\n dup4\n dup2\n tag_42\n jumpi\n tag_43\n tag_26\n jump\t// in\n tag_43:\n tag_42:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12883:12884 4 */\n 0x04\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12873:12884 result += 4 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12799:12899 if (value >= 10 ** 4) {... */\n tag_41:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12925:12932 10 ** 2 */\n 0x64\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12916:12921 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12916:12932 value >= 10 ** 2 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12912:13012 if (value >= 10 ** 2) {... */\n tag_44\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12961:12968 10 ** 2 */\n 0x64\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12952:12968 value /= 10 ** 2 */\n dup4\n dup2\n tag_45\n jumpi\n tag_46\n tag_26\n jump\t// in\n tag_46:\n tag_45:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12996:12997 2 */\n 0x02\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12986:12997 result += 2 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12912:13012 if (value >= 10 ** 2) {... */\n tag_44:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13038:13045 10 ** 1 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13029:13034 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13029:13045 value >= 10 ** 1 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13025:13091 if (value >= 10 ** 1) {... */\n tag_47\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13075:13076 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13065:13076 result += 1 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13025:13091 if (value >= 10 ** 1) {... */\n tag_47:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13117:13123 result */\n dup1\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13110:13123 return result */\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12214:13130 function log10(uint256 value) internal pure returns (uint256) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_48:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:281 */\n tag_49:\n /* \"#utility.yul\":196:207 */\n 0x00\n /* \"#utility.yul\":230:236 */\n dup3\n /* \"#utility.yul\":225:228 */\n dup3\n /* \"#utility.yul\":218:237 */\n mstore\n /* \"#utility.yul\":270:274 */\n 0x20\n /* \"#utility.yul\":265:268 */\n dup3\n /* \"#utility.yul\":261:275 */\n add\n /* \"#utility.yul\":246:275 */\n swap1\n pop\n /* \"#utility.yul\":112:281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":287:426 */\n tag_50:\n /* \"#utility.yul\":376:382 */\n dup3\n /* \"#utility.yul\":371:374 */\n dup2\n /* \"#utility.yul\":366:369 */\n dup4\n /* \"#utility.yul\":360:383 */\n mcopy\n /* \"#utility.yul\":417:418 */\n 0x00\n /* \"#utility.yul\":408:414 */\n dup4\n /* \"#utility.yul\":403:406 */\n dup4\n /* \"#utility.yul\":399:415 */\n add\n /* \"#utility.yul\":392:419 */\n mstore\n /* \"#utility.yul\":287:426 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":432:534 */\n tag_51:\n /* \"#utility.yul\":473:479 */\n 0x00\n /* \"#utility.yul\":524:526 */\n 0x1f\n /* \"#utility.yul\":520:527 */\n not\n /* \"#utility.yul\":515:517 */\n 0x1f\n /* \"#utility.yul\":508:513 */\n dup4\n /* \"#utility.yul\":504:518 */\n add\n /* \"#utility.yul\":500:528 */\n and\n /* \"#utility.yul\":490:528 */\n swap1\n pop\n /* \"#utility.yul\":432:534 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":540:917 */\n tag_52:\n /* \"#utility.yul\":628:631 */\n 0x00\n /* \"#utility.yul\":656:695 */\n tag_63\n /* \"#utility.yul\":689:694 */\n dup3\n /* \"#utility.yul\":656:695 */\n tag_48\n jump\t// in\n tag_63:\n /* \"#utility.yul\":711:782 */\n tag_64\n /* \"#utility.yul\":775:781 */\n dup2\n /* \"#utility.yul\":770:773 */\n dup6\n /* \"#utility.yul\":711:782 */\n tag_49\n jump\t// in\n tag_64:\n /* \"#utility.yul\":704:782 */\n swap4\n pop\n /* \"#utility.yul\":791:856 */\n tag_65\n /* \"#utility.yul\":849:855 */\n dup2\n /* \"#utility.yul\":844:847 */\n dup6\n /* \"#utility.yul\":837:841 */\n 0x20\n /* \"#utility.yul\":830:835 */\n dup7\n /* \"#utility.yul\":826:842 */\n add\n /* \"#utility.yul\":791:856 */\n tag_50\n jump\t// in\n tag_65:\n /* \"#utility.yul\":881:910 */\n tag_66\n /* \"#utility.yul\":903:909 */\n dup2\n /* \"#utility.yul\":881:910 */\n tag_51\n jump\t// in\n tag_66:\n /* \"#utility.yul\":876:879 */\n dup5\n /* \"#utility.yul\":872:911 */\n add\n /* \"#utility.yul\":865:911 */\n swap2\n pop\n /* \"#utility.yul\":632:917 */\n pop\n /* \"#utility.yul\":540:917 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":923:1236 */\n tag_7:\n /* \"#utility.yul\":1036:1040 */\n 0x00\n /* \"#utility.yul\":1074:1076 */\n 0x20\n /* \"#utility.yul\":1063:1072 */\n dup3\n /* \"#utility.yul\":1059:1077 */\n add\n /* \"#utility.yul\":1051:1077 */\n swap1\n pop\n /* \"#utility.yul\":1123:1132 */\n dup2\n /* \"#utility.yul\":1117:1121 */\n dup2\n /* \"#utility.yul\":1113:1133 */\n sub\n /* \"#utility.yul\":1109:1110 */\n 0x00\n /* \"#utility.yul\":1098:1107 */\n dup4\n /* \"#utility.yul\":1094:1111 */\n add\n /* \"#utility.yul\":1087:1134 */\n mstore\n /* \"#utility.yul\":1151:1229 */\n tag_68\n /* \"#utility.yul\":1224:1228 */\n dup2\n /* \"#utility.yul\":1215:1221 */\n dup5\n /* \"#utility.yul\":1151:1229 */\n tag_52\n jump\t// in\n tag_68:\n /* \"#utility.yul\":1143:1229 */\n swap1\n pop\n /* \"#utility.yul\":923:1236 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1242:1390 */\n tag_53:\n /* \"#utility.yul\":1344:1355 */\n 0x00\n /* \"#utility.yul\":1381:1384 */\n dup2\n /* \"#utility.yul\":1366:1384 */\n swap1\n pop\n /* \"#utility.yul\":1242:1390 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1396:1786 */\n tag_54:\n /* \"#utility.yul\":1502:1505 */\n 0x00\n /* \"#utility.yul\":1530:1569 */\n tag_71\n /* \"#utility.yul\":1563:1568 */\n dup3\n /* \"#utility.yul\":1530:1569 */\n tag_48\n jump\t// in\n tag_71:\n /* \"#utility.yul\":1585:1674 */\n tag_72\n /* \"#utility.yul\":1667:1673 */\n dup2\n /* \"#utility.yul\":1662:1665 */\n dup6\n /* \"#utility.yul\":1585:1674 */\n tag_53\n jump\t// in\n tag_72:\n /* \"#utility.yul\":1578:1674 */\n swap4\n pop\n /* \"#utility.yul\":1683:1748 */\n tag_73\n /* \"#utility.yul\":1741:1747 */\n dup2\n /* \"#utility.yul\":1736:1739 */\n dup6\n /* \"#utility.yul\":1729:1733 */\n 0x20\n /* \"#utility.yul\":1722:1727 */\n dup7\n /* \"#utility.yul\":1718:1734 */\n add\n /* \"#utility.yul\":1683:1748 */\n tag_50\n jump\t// in\n tag_73:\n /* \"#utility.yul\":1773:1779 */\n dup1\n /* \"#utility.yul\":1768:1771 */\n dup5\n /* \"#utility.yul\":1764:1780 */\n add\n /* \"#utility.yul\":1757:1780 */\n swap2\n pop\n /* \"#utility.yul\":1506:1786 */\n pop\n /* \"#utility.yul\":1396:1786 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1792:1943 */\n tag_55:\n /* \"#utility.yul\":1932:1935 */\n 0x2e00000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1928:1929 */\n 0x00\n /* \"#utility.yul\":1920:1926 */\n dup3\n /* \"#utility.yul\":1916:1930 */\n add\n /* \"#utility.yul\":1909:1936 */\n mstore\n /* \"#utility.yul\":1792:1943 */\n pop\n jump\t// out\n /* \"#utility.yul\":1949:2349 */\n tag_56:\n /* \"#utility.yul\":2109:2112 */\n 0x00\n /* \"#utility.yul\":2130:2214 */\n tag_76\n /* \"#utility.yul\":2212:2213 */\n 0x01\n /* \"#utility.yul\":2207:2210 */\n dup4\n /* \"#utility.yul\":2130:2214 */\n tag_53\n jump\t// in\n tag_76:\n /* \"#utility.yul\":2123:2214 */\n swap2\n pop\n /* \"#utility.yul\":2223:2316 */\n tag_77\n /* \"#utility.yul\":2312:2315 */\n dup3\n /* \"#utility.yul\":2223:2316 */\n tag_55\n jump\t// in\n tag_77:\n /* \"#utility.yul\":2341:2342 */\n 0x01\n /* \"#utility.yul\":2336:2339 */\n dup3\n /* \"#utility.yul\":2332:2343 */\n add\n /* \"#utility.yul\":2325:2343 */\n swap1\n pop\n /* \"#utility.yul\":1949:2349 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2355:3482 */\n tag_14:\n /* \"#utility.yul\":2785:2788 */\n 0x00\n /* \"#utility.yul\":2807:2902 */\n tag_79\n /* \"#utility.yul\":2898:2901 */\n dup3\n /* \"#utility.yul\":2889:2895 */\n dup7\n /* \"#utility.yul\":2807:2902 */\n tag_54\n jump\t// in\n tag_79:\n /* \"#utility.yul\":2800:2902 */\n swap2\n pop\n /* \"#utility.yul\":2919:3067 */\n tag_80\n /* \"#utility.yul\":3063:3066 */\n dup3\n /* \"#utility.yul\":2919:3067 */\n tag_56\n jump\t// in\n tag_80:\n /* \"#utility.yul\":2912:3067 */\n swap2\n pop\n /* \"#utility.yul\":3084:3179 */\n tag_81\n /* \"#utility.yul\":3175:3178 */\n dup3\n /* \"#utility.yul\":3166:3172 */\n dup6\n /* \"#utility.yul\":3084:3179 */\n tag_54\n jump\t// in\n tag_81:\n /* \"#utility.yul\":3077:3179 */\n swap2\n pop\n /* \"#utility.yul\":3196:3344 */\n tag_82\n /* \"#utility.yul\":3340:3343 */\n dup3\n /* \"#utility.yul\":3196:3344 */\n tag_56\n jump\t// in\n tag_82:\n /* \"#utility.yul\":3189:3344 */\n swap2\n pop\n /* \"#utility.yul\":3361:3456 */\n tag_83\n /* \"#utility.yul\":3452:3455 */\n dup3\n /* \"#utility.yul\":3443:3449 */\n dup5\n /* \"#utility.yul\":3361:3456 */\n tag_54\n jump\t// in\n tag_83:\n /* \"#utility.yul\":3354:3456 */\n swap2\n pop\n /* \"#utility.yul\":3473:3476 */\n dup2\n /* \"#utility.yul\":3466:3476 */\n swap1\n pop\n /* \"#utility.yul\":2355:3482 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3488:3668 */\n tag_20:\n /* \"#utility.yul\":3536:3613 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3533:3534 */\n 0x00\n /* \"#utility.yul\":3526:3614 */\n mstore\n /* \"#utility.yul\":3633:3637 */\n 0x41\n /* \"#utility.yul\":3630:3631 */\n 0x04\n /* \"#utility.yul\":3623:3638 */\n mstore\n /* \"#utility.yul\":3657:3661 */\n 0x24\n /* \"#utility.yul\":3654:3655 */\n 0x00\n /* \"#utility.yul\":3647:3662 */\n revert\n /* \"#utility.yul\":3674:3854 */\n tag_26:\n /* \"#utility.yul\":3722:3799 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3719:3720 */\n 0x00\n /* \"#utility.yul\":3712:3800 */\n mstore\n /* \"#utility.yul\":3819:3823 */\n 0x12\n /* \"#utility.yul\":3816:3817 */\n 0x04\n /* \"#utility.yul\":3809:3824 */\n mstore\n /* \"#utility.yul\":3843:3847 */\n 0x24\n /* \"#utility.yul\":3840:3841 */\n 0x00\n /* \"#utility.yul\":3833:3848 */\n revert\n\n auxdata: 0xa26469706673582212203fe2372ce44fc81b98b7537375f7edcec903044adb64bb54dc60667d6a6fb73964736f6c634300081a0033\n}\n", - "bytecode": { - "functionDebugData": { - "@_2452": { - "entryPoint": null, - "id": 2452, - "parameterSlots": 3, - "returnSlots": 0 - }, - "abi_decode_t_uint256_fromMemory": { - "entryPoint": 116, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory": { - "entryPoint": 136, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "allocate_unbounded": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 1 - }, - "cleanup_t_uint256": { - "entryPoint": 85, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 81, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_t_uint256": { - "entryPoint": 94, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nativeSrc": "0:1360:13", - "nodeType": "YulBlock", - "src": "0:1360:13", - "statements": [ - { - "body": { - "nativeSrc": "47:35:13", - "nodeType": "YulBlock", - "src": "47:35:13", - "statements": [ - { - "nativeSrc": "57:19:13", - "nodeType": "YulAssignment", - "src": "57:19:13", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "73:2:13", - "nodeType": "YulLiteral", - "src": "73:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "67:5:13", - "nodeType": "YulIdentifier", - "src": "67:5:13" - }, - "nativeSrc": "67:9:13", - "nodeType": "YulFunctionCall", - "src": "67:9:13" - }, - "variableNames": [ - { - "name": "memPtr", - "nativeSrc": "57:6:13", - "nodeType": "YulIdentifier", - "src": "57:6:13" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nativeSrc": "7:75:13", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nativeSrc": "40:6:13", - "nodeType": "YulTypedName", - "src": "40:6:13", - "type": "" - } - ], - "src": "7:75:13" - }, - { - "body": { - "nativeSrc": "177:28:13", - "nodeType": "YulBlock", - "src": "177:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "194:1:13", - "nodeType": "YulLiteral", - "src": "194:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "197:1:13", - "nodeType": "YulLiteral", - "src": "197:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "187:6:13", - "nodeType": "YulIdentifier", - "src": "187:6:13" - }, - "nativeSrc": "187:12:13", - "nodeType": "YulFunctionCall", - "src": "187:12:13" - }, - "nativeSrc": "187:12:13", - "nodeType": "YulExpressionStatement", - "src": "187:12:13" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "88:117:13", - "nodeType": "YulFunctionDefinition", - "src": "88:117:13" - }, - { - "body": { - "nativeSrc": "300:28:13", - "nodeType": "YulBlock", - "src": "300:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "317:1:13", - "nodeType": "YulLiteral", - "src": "317:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "320:1:13", - "nodeType": "YulLiteral", - "src": "320:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "310:6:13", - "nodeType": "YulIdentifier", - "src": "310:6:13" - }, - "nativeSrc": "310:12:13", - "nodeType": "YulFunctionCall", - "src": "310:12:13" - }, - "nativeSrc": "310:12:13", - "nodeType": "YulExpressionStatement", - "src": "310:12:13" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "211:117:13", - "nodeType": "YulFunctionDefinition", - "src": "211:117:13" - }, - { - "body": { - "nativeSrc": "379:32:13", - "nodeType": "YulBlock", - "src": "379:32:13", - "statements": [ - { - "nativeSrc": "389:16:13", - "nodeType": "YulAssignment", - "src": "389:16:13", - "value": { - "name": "value", - "nativeSrc": "400:5:13", - "nodeType": "YulIdentifier", - "src": "400:5:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "389:7:13", - "nodeType": "YulIdentifier", - "src": "389:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nativeSrc": "334:77:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "361:5:13", - "nodeType": "YulTypedName", - "src": "361:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "371:7:13", - "nodeType": "YulTypedName", - "src": "371:7:13", - "type": "" - } - ], - "src": "334:77:13" - }, - { - "body": { - "nativeSrc": "460:79:13", - "nodeType": "YulBlock", - "src": "460:79:13", - "statements": [ - { - "body": { - "nativeSrc": "517:16:13", - "nodeType": "YulBlock", - "src": "517:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "526:1:13", - "nodeType": "YulLiteral", - "src": "526:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "529:1:13", - "nodeType": "YulLiteral", - "src": "529:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "519:6:13", - "nodeType": "YulIdentifier", - "src": "519:6:13" - }, - "nativeSrc": "519:12:13", - "nodeType": "YulFunctionCall", - "src": "519:12:13" - }, - "nativeSrc": "519:12:13", - "nodeType": "YulExpressionStatement", - "src": "519:12:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "483:5:13", - "nodeType": "YulIdentifier", - "src": "483:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "508:5:13", - "nodeType": "YulIdentifier", - "src": "508:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nativeSrc": "490:17:13", - "nodeType": "YulIdentifier", - "src": "490:17:13" - }, - "nativeSrc": "490:24:13", - "nodeType": "YulFunctionCall", - "src": "490:24:13" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "480:2:13", - "nodeType": "YulIdentifier", - "src": "480:2:13" - }, - "nativeSrc": "480:35:13", - "nodeType": "YulFunctionCall", - "src": "480:35:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "473:6:13", - "nodeType": "YulIdentifier", - "src": "473:6:13" - }, - "nativeSrc": "473:43:13", - "nodeType": "YulFunctionCall", - "src": "473:43:13" - }, - "nativeSrc": "470:63:13", - "nodeType": "YulIf", - "src": "470:63:13" - } - ] - }, - "name": "validator_revert_t_uint256", - "nativeSrc": "417:122:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "453:5:13", - "nodeType": "YulTypedName", - "src": "453:5:13", - "type": "" - } - ], - "src": "417:122:13" - }, - { - "body": { - "nativeSrc": "608:80:13", - "nodeType": "YulBlock", - "src": "608:80:13", - "statements": [ - { - "nativeSrc": "618:22:13", - "nodeType": "YulAssignment", - "src": "618:22:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "633:6:13", - "nodeType": "YulIdentifier", - "src": "633:6:13" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "627:5:13", - "nodeType": "YulIdentifier", - "src": "627:5:13" - }, - "nativeSrc": "627:13:13", - "nodeType": "YulFunctionCall", - "src": "627:13:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "618:5:13", - "nodeType": "YulIdentifier", - "src": "618:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nativeSrc": "676:5:13", - "nodeType": "YulIdentifier", - "src": "676:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_uint256", - "nativeSrc": "649:26:13", - "nodeType": "YulIdentifier", - "src": "649:26:13" - }, - "nativeSrc": "649:33:13", - "nodeType": "YulFunctionCall", - "src": "649:33:13" - }, - "nativeSrc": "649:33:13", - "nodeType": "YulExpressionStatement", - "src": "649:33:13" - } - ] - }, - "name": "abi_decode_t_uint256_fromMemory", - "nativeSrc": "545:143:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "586:6:13", - "nodeType": "YulTypedName", - "src": "586:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "594:3:13", - "nodeType": "YulTypedName", - "src": "594:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "602:5:13", - "nodeType": "YulTypedName", - "src": "602:5:13", - "type": "" - } - ], - "src": "545:143:13" - }, - { - "body": { - "nativeSrc": "805:552:13", - "nodeType": "YulBlock", - "src": "805:552:13", - "statements": [ - { - "body": { - "nativeSrc": "851:83:13", - "nodeType": "YulBlock", - "src": "851:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "853:77:13", - "nodeType": "YulIdentifier", - "src": "853:77:13" - }, - "nativeSrc": "853:79:13", - "nodeType": "YulFunctionCall", - "src": "853:79:13" - }, - "nativeSrc": "853:79:13", - "nodeType": "YulExpressionStatement", - "src": "853:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "826:7:13", - "nodeType": "YulIdentifier", - "src": "826:7:13" - }, - { - "name": "headStart", - "nativeSrc": "835:9:13", - "nodeType": "YulIdentifier", - "src": "835:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "822:3:13", - "nodeType": "YulIdentifier", - "src": "822:3:13" - }, - "nativeSrc": "822:23:13", - "nodeType": "YulFunctionCall", - "src": "822:23:13" - }, - { - "kind": "number", - "nativeSrc": "847:2:13", - "nodeType": "YulLiteral", - "src": "847:2:13", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "818:3:13", - "nodeType": "YulIdentifier", - "src": "818:3:13" - }, - "nativeSrc": "818:32:13", - "nodeType": "YulFunctionCall", - "src": "818:32:13" - }, - "nativeSrc": "815:119:13", - "nodeType": "YulIf", - "src": "815:119:13" - }, - { - "nativeSrc": "944:128:13", - "nodeType": "YulBlock", - "src": "944:128:13", - "statements": [ - { - "nativeSrc": "959:15:13", - "nodeType": "YulVariableDeclaration", - "src": "959:15:13", - "value": { - "kind": "number", - "nativeSrc": "973:1:13", - "nodeType": "YulLiteral", - "src": "973:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "963:6:13", - "nodeType": "YulTypedName", - "src": "963:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "988:74:13", - "nodeType": "YulAssignment", - "src": "988:74:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1034:9:13", - "nodeType": "YulIdentifier", - "src": "1034:9:13" - }, - { - "name": "offset", - "nativeSrc": "1045:6:13", - "nodeType": "YulIdentifier", - "src": "1045:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1030:3:13", - "nodeType": "YulIdentifier", - "src": "1030:3:13" - }, - "nativeSrc": "1030:22:13", - "nodeType": "YulFunctionCall", - "src": "1030:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "1054:7:13", - "nodeType": "YulIdentifier", - "src": "1054:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_uint256_fromMemory", - "nativeSrc": "998:31:13", - "nodeType": "YulIdentifier", - "src": "998:31:13" - }, - "nativeSrc": "998:64:13", - "nodeType": "YulFunctionCall", - "src": "998:64:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "988:6:13", - "nodeType": "YulIdentifier", - "src": "988:6:13" - } - ] - } - ] - }, - { - "nativeSrc": "1082:129:13", - "nodeType": "YulBlock", - "src": "1082:129:13", - "statements": [ - { - "nativeSrc": "1097:16:13", - "nodeType": "YulVariableDeclaration", - "src": "1097:16:13", - "value": { - "kind": "number", - "nativeSrc": "1111:2:13", - "nodeType": "YulLiteral", - "src": "1111:2:13", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "1101:6:13", - "nodeType": "YulTypedName", - "src": "1101:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "1127:74:13", - "nodeType": "YulAssignment", - "src": "1127:74:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1173:9:13", - "nodeType": "YulIdentifier", - "src": "1173:9:13" - }, - { - "name": "offset", - "nativeSrc": "1184:6:13", - "nodeType": "YulIdentifier", - "src": "1184:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1169:3:13", - "nodeType": "YulIdentifier", - "src": "1169:3:13" - }, - "nativeSrc": "1169:22:13", - "nodeType": "YulFunctionCall", - "src": "1169:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "1193:7:13", - "nodeType": "YulIdentifier", - "src": "1193:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_uint256_fromMemory", - "nativeSrc": "1137:31:13", - "nodeType": "YulIdentifier", - "src": "1137:31:13" - }, - "nativeSrc": "1137:64:13", - "nodeType": "YulFunctionCall", - "src": "1137:64:13" - }, - "variableNames": [ - { - "name": "value1", - "nativeSrc": "1127:6:13", - "nodeType": "YulIdentifier", - "src": "1127:6:13" - } - ] - } - ] - }, - { - "nativeSrc": "1221:129:13", - "nodeType": "YulBlock", - "src": "1221:129:13", - "statements": [ - { - "nativeSrc": "1236:16:13", - "nodeType": "YulVariableDeclaration", - "src": "1236:16:13", - "value": { - "kind": "number", - "nativeSrc": "1250:2:13", - "nodeType": "YulLiteral", - "src": "1250:2:13", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "1240:6:13", - "nodeType": "YulTypedName", - "src": "1240:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "1266:74:13", - "nodeType": "YulAssignment", - "src": "1266:74:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1312:9:13", - "nodeType": "YulIdentifier", - "src": "1312:9:13" - }, - { - "name": "offset", - "nativeSrc": "1323:6:13", - "nodeType": "YulIdentifier", - "src": "1323:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1308:3:13", - "nodeType": "YulIdentifier", - "src": "1308:3:13" - }, - "nativeSrc": "1308:22:13", - "nodeType": "YulFunctionCall", - "src": "1308:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "1332:7:13", - "nodeType": "YulIdentifier", - "src": "1332:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_uint256_fromMemory", - "nativeSrc": "1276:31:13", - "nodeType": "YulIdentifier", - "src": "1276:31:13" - }, - "nativeSrc": "1276:64:13", - "nodeType": "YulFunctionCall", - "src": "1276:64:13" - }, - "variableNames": [ - { - "name": "value2", - "nativeSrc": "1266:6:13", - "nodeType": "YulIdentifier", - "src": "1266:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory", - "nativeSrc": "694:663:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "759:9:13", - "nodeType": "YulTypedName", - "src": "759:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "770:7:13", - "nodeType": "YulTypedName", - "src": "770:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "782:6:13", - "nodeType": "YulTypedName", - "src": "782:6:13", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "790:6:13", - "nodeType": "YulTypedName", - "src": "790:6:13", - "type": "" - }, - { - "name": "value2", - "nativeSrc": "798:6:13", - "nodeType": "YulTypedName", - "src": "798:6:13", - "type": "" - } - ], - "src": "694:663:13" - } - ] - }, - "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_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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_uint256_fromMemory(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_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", - "id": 13, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60e060405234801561000f575f80fd5b506040516105f23803806105f283398181016040528101906100319190610088565b82608081815250508160a081815250508060c081815250505050506100d8565b5f80fd5b5f819050919050565b61006781610055565b8114610071575f80fd5b50565b5f815190506100828161005e565b92915050565b5f805f6060848603121561009f5761009e610051565b5b5f6100ac86828701610074565b93505060206100bd86828701610074565b92505060406100ce86828701610074565b9150509250925092565b60805160a05160c0516104f36100ff5f395f60a401525f607b01525f605201526104f35ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c806354fd4d501461002d575b5f80fd5b61003561004b565b6040516100429190610379565b60405180910390f35b60606100767f00000000000000000000000000000000000000000000000000000000000000006100ee565b61009f7f00000000000000000000000000000000000000000000000000000000000000006100ee565b6100c87f00000000000000000000000000000000000000000000000000000000000000006100ee565b6040516020016100da9392919061041d565b604051602081830303815290604052905090565b60605f60016100fc846101b8565b0190505f8167ffffffffffffffff81111561011a57610119610463565b5b6040519080825280601f01601f19166020018201604052801561014c5781602001600182028036833780820191505090505b5090505f82602001820190505b6001156101ad578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816101a2576101a1610490565b5b0494505f8503610159575b819350505050919050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610214577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161020a57610209610490565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610251576d04ee2d6d415b85acef8100000000838161024757610246610490565b5b0492506020810190505b662386f26fc10000831061028057662386f26fc10000838161027657610275610490565b5b0492506010810190505b6305f5e10083106102a9576305f5e100838161029f5761029e610490565b5b0492506008810190505b61271083106102ce5761271083816102c4576102c3610490565b5b0492506004810190505b606483106102f157606483816102e7576102e6610490565b5b0492506002810190505b600a8310610300576001810190505b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61034b82610309565b6103558185610313565b9350610365818560208601610323565b61036e81610331565b840191505092915050565b5f6020820190508181035f8301526103918184610341565b905092915050565b5f81905092915050565b5f6103ad82610309565b6103b78185610399565b93506103c7818560208601610323565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610407600183610399565b9150610412826103d3565b600182019050919050565b5f61042882866103a3565b9150610433826103fb565b915061043f82856103a3565b915061044a826103fb565b915061045682846103a3565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea26469706673582212203fe2372ce44fc81b98b7537375f7edcec903044adb64bb54dc60667d6a6fb73964736f6c634300081a0033", - "opcodes": "PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x5F2 CODESIZE SUB DUP1 PUSH2 0x5F2 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x31 SWAP2 SWAP1 PUSH2 0x88 JUMP JUMPDEST DUP3 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP2 PUSH1 0xA0 DUP2 DUP2 MSTORE POP POP DUP1 PUSH1 0xC0 DUP2 DUP2 MSTORE POP POP POP POP POP PUSH2 0xD8 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x67 DUP2 PUSH2 0x55 JUMP JUMPDEST DUP2 EQ PUSH2 0x71 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x82 DUP2 PUSH2 0x5E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x9F JUMPI PUSH2 0x9E PUSH2 0x51 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xAC DUP7 DUP3 DUP8 ADD PUSH2 0x74 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xBD DUP7 DUP3 DUP8 ADD PUSH2 0x74 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xCE DUP7 DUP3 DUP8 ADD PUSH2 0x74 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0x4F3 PUSH2 0xFF PUSH0 CODECOPY PUSH0 PUSH1 0xA4 ADD MSTORE PUSH0 PUSH1 0x7B ADD MSTORE PUSH0 PUSH1 0x52 ADD MSTORE PUSH2 0x4F3 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42 SWAP2 SWAP1 PUSH2 0x379 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH2 0x76 PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH2 0x9F PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH2 0xC8 PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xDA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0xFC DUP5 PUSH2 0x1B8 JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11A JUMPI PUSH2 0x119 PUSH2 0x463 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x14C JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x1AD JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x1A2 JUMPI PUSH2 0x1A1 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x159 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x214 JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x20A JUMPI PUSH2 0x209 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x251 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x247 JUMPI PUSH2 0x246 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x280 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x276 JUMPI PUSH2 0x275 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x2A9 JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x29F JUMPI PUSH2 0x29E PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x2CE JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x2C4 JUMPI PUSH2 0x2C3 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x2F1 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x2E7 JUMPI PUSH2 0x2E6 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x300 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x34B DUP3 PUSH2 0x309 JUMP JUMPDEST PUSH2 0x355 DUP2 DUP6 PUSH2 0x313 JUMP JUMPDEST SWAP4 POP PUSH2 0x365 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x323 JUMP JUMPDEST PUSH2 0x36E DUP2 PUSH2 0x331 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x391 DUP2 DUP5 PUSH2 0x341 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x3AD DUP3 PUSH2 0x309 JUMP JUMPDEST PUSH2 0x3B7 DUP2 DUP6 PUSH2 0x399 JUMP JUMPDEST SWAP4 POP PUSH2 0x3C7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x323 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x407 PUSH1 0x1 DUP4 PUSH2 0x399 JUMP JUMPDEST SWAP2 POP PUSH2 0x412 DUP3 PUSH2 0x3D3 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x428 DUP3 DUP7 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP PUSH2 0x433 DUP3 PUSH2 0x3FB JUMP JUMPDEST SWAP2 POP PUSH2 0x43F DUP3 DUP6 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP PUSH2 0x44A DUP3 PUSH2 0x3FB JUMP JUMPDEST SWAP2 POP PUSH2 0x456 DUP3 DUP5 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODEHASH 0xE2 CALLDATACOPY 0x2C 0xE4 0x4F 0xC8 SHL SWAP9 0xB7 MSTORE8 PUSH20 0x75F7EDCEC903044ADB64BB54DC60667D6A6FB739 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", - "sourceMap": "250:932:11:-:0;;;692:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;768:5;759:14;;;;;;792:5;783:14;;;;;;816:5;807:14;;;;;;692:136;;;250:932;;88:117:13;197:1;194;187: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:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:663::-;782:6;790;798;847:2;835:9;826:7;822:23;818:32;815:119;;;853:79;;:::i;:::-;815:119;973:1;998:64;1054:7;1045:6;1034:9;1030:22;998:64;:::i;:::-;988:74;;944:128;1111:2;1137:64;1193:7;1184:6;1173:9;1169:22;1137:64;:::i;:::-;1127:74;;1082:129;1250:2;1276:64;1332:7;1323:6;1312:9;1308:22;1276:64;:::i;:::-;1266:74;;1221:129;694:663;;;;;:::o;250:932:11:-;;;;;;;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@log10_1306": { - "entryPoint": 440, - "id": 1306, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@toString_245": { - "entryPoint": 238, - "id": 245, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@version_2480": { - "entryPoint": 75, - "id": 2480, - "parameterSlots": 0, - "returnSlots": 1 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { - "entryPoint": 833, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 931, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 1019, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 1053, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 889, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_length_t_string_memory_ptr": { - "entryPoint": 777, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { - "entryPoint": 787, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 921, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory_with_cleanup": { - "entryPoint": 803, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "panic_error_0x12": { - "entryPoint": 1168, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 1123, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "round_up_to_mul_of_32": { - "entryPoint": 817, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf": { - "entryPoint": 979, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nativeSrc": "0:3857:13", - "nodeType": "YulBlock", - "src": "0:3857:13", - "statements": [ - { - "body": { - "nativeSrc": "66:40:13", - "nodeType": "YulBlock", - "src": "66:40:13", - "statements": [ - { - "nativeSrc": "77:22:13", - "nodeType": "YulAssignment", - "src": "77:22:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "93:5:13", - "nodeType": "YulIdentifier", - "src": "93:5:13" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "87:5:13", - "nodeType": "YulIdentifier", - "src": "87:5:13" - }, - "nativeSrc": "87:12:13", - "nodeType": "YulFunctionCall", - "src": "87:12:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "77:6:13", - "nodeType": "YulIdentifier", - "src": "77:6:13" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "7:99:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "49:5:13", - "nodeType": "YulTypedName", - "src": "49:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "59:6:13", - "nodeType": "YulTypedName", - "src": "59:6:13", - "type": "" - } - ], - "src": "7:99:13" - }, - { - "body": { - "nativeSrc": "208:73:13", - "nodeType": "YulBlock", - "src": "208:73:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "225:3:13", - "nodeType": "YulIdentifier", - "src": "225:3:13" - }, - { - "name": "length", - "nativeSrc": "230:6:13", - "nodeType": "YulIdentifier", - "src": "230:6:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "218:6:13", - "nodeType": "YulIdentifier", - "src": "218:6:13" - }, - "nativeSrc": "218:19:13", - "nodeType": "YulFunctionCall", - "src": "218:19:13" - }, - "nativeSrc": "218:19:13", - "nodeType": "YulExpressionStatement", - "src": "218:19:13" - }, - { - "nativeSrc": "246:29:13", - "nodeType": "YulAssignment", - "src": "246:29:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "265:3:13", - "nodeType": "YulIdentifier", - "src": "265:3:13" - }, - { - "kind": "number", - "nativeSrc": "270:4:13", - "nodeType": "YulLiteral", - "src": "270:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "261:3:13", - "nodeType": "YulIdentifier", - "src": "261:3:13" - }, - "nativeSrc": "261:14:13", - "nodeType": "YulFunctionCall", - "src": "261:14:13" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "246:11:13", - "nodeType": "YulIdentifier", - "src": "246:11:13" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "112:169:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "180:3:13", - "nodeType": "YulTypedName", - "src": "180:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "185:6:13", - "nodeType": "YulTypedName", - "src": "185:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "196:11:13", - "nodeType": "YulTypedName", - "src": "196:11:13", - "type": "" - } - ], - "src": "112:169:13" - }, - { - "body": { - "nativeSrc": "349:77:13", - "nodeType": "YulBlock", - "src": "349:77:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nativeSrc": "366:3:13", - "nodeType": "YulIdentifier", - "src": "366:3:13" - }, - { - "name": "src", - "nativeSrc": "371:3:13", - "nodeType": "YulIdentifier", - "src": "371:3:13" - }, - { - "name": "length", - "nativeSrc": "376:6:13", - "nodeType": "YulIdentifier", - "src": "376:6:13" - } - ], - "functionName": { - "name": "mcopy", - "nativeSrc": "360:5:13", - "nodeType": "YulIdentifier", - "src": "360:5:13" - }, - "nativeSrc": "360:23:13", - "nodeType": "YulFunctionCall", - "src": "360:23:13" - }, - "nativeSrc": "360:23:13", - "nodeType": "YulExpressionStatement", - "src": "360:23:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nativeSrc": "403:3:13", - "nodeType": "YulIdentifier", - "src": "403:3:13" - }, - { - "name": "length", - "nativeSrc": "408:6:13", - "nodeType": "YulIdentifier", - "src": "408:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "399:3:13", - "nodeType": "YulIdentifier", - "src": "399:3:13" - }, - "nativeSrc": "399:16:13", - "nodeType": "YulFunctionCall", - "src": "399:16:13" - }, - { - "kind": "number", - "nativeSrc": "417:1:13", - "nodeType": "YulLiteral", - "src": "417:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "392:6:13", - "nodeType": "YulIdentifier", - "src": "392:6:13" - }, - "nativeSrc": "392:27:13", - "nodeType": "YulFunctionCall", - "src": "392:27:13" - }, - "nativeSrc": "392:27:13", - "nodeType": "YulExpressionStatement", - "src": "392:27:13" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "287:139:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nativeSrc": "331:3:13", - "nodeType": "YulTypedName", - "src": "331:3:13", - "type": "" - }, - { - "name": "dst", - "nativeSrc": "336:3:13", - "nodeType": "YulTypedName", - "src": "336:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "341:6:13", - "nodeType": "YulTypedName", - "src": "341:6:13", - "type": "" - } - ], - "src": "287:139:13" - }, - { - "body": { - "nativeSrc": "480:54:13", - "nodeType": "YulBlock", - "src": "480:54:13", - "statements": [ - { - "nativeSrc": "490:38:13", - "nodeType": "YulAssignment", - "src": "490:38:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "508:5:13", - "nodeType": "YulIdentifier", - "src": "508:5:13" - }, - { - "kind": "number", - "nativeSrc": "515:2:13", - "nodeType": "YulLiteral", - "src": "515:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "504:3:13", - "nodeType": "YulIdentifier", - "src": "504:3:13" - }, - "nativeSrc": "504:14:13", - "nodeType": "YulFunctionCall", - "src": "504:14:13" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "524:2:13", - "nodeType": "YulLiteral", - "src": "524:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "520:3:13", - "nodeType": "YulIdentifier", - "src": "520:3:13" - }, - "nativeSrc": "520:7:13", - "nodeType": "YulFunctionCall", - "src": "520:7:13" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "500:3:13", - "nodeType": "YulIdentifier", - "src": "500:3:13" - }, - "nativeSrc": "500:28:13", - "nodeType": "YulFunctionCall", - "src": "500:28:13" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "490:6:13", - "nodeType": "YulIdentifier", - "src": "490:6:13" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nativeSrc": "432:102:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "463:5:13", - "nodeType": "YulTypedName", - "src": "463:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "473:6:13", - "nodeType": "YulTypedName", - "src": "473:6:13", - "type": "" - } - ], - "src": "432:102:13" - }, - { - "body": { - "nativeSrc": "632:285:13", - "nodeType": "YulBlock", - "src": "632:285:13", - "statements": [ - { - "nativeSrc": "642:53:13", - "nodeType": "YulVariableDeclaration", - "src": "642:53:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "689:5:13", - "nodeType": "YulIdentifier", - "src": "689:5:13" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "656:32:13", - "nodeType": "YulIdentifier", - "src": "656:32:13" - }, - "nativeSrc": "656:39:13", - "nodeType": "YulFunctionCall", - "src": "656:39:13" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "646:6:13", - "nodeType": "YulTypedName", - "src": "646:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "704:78:13", - "nodeType": "YulAssignment", - "src": "704:78:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "770:3:13", - "nodeType": "YulIdentifier", - "src": "770:3:13" - }, - { - "name": "length", - "nativeSrc": "775:6:13", - "nodeType": "YulIdentifier", - "src": "775:6:13" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "711:58:13", - "nodeType": "YulIdentifier", - "src": "711:58:13" - }, - "nativeSrc": "711:71:13", - "nodeType": "YulFunctionCall", - "src": "711:71:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "704:3:13", - "nodeType": "YulIdentifier", - "src": "704:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "830:5:13", - "nodeType": "YulIdentifier", - "src": "830:5:13" - }, - { - "kind": "number", - "nativeSrc": "837:4:13", - "nodeType": "YulLiteral", - "src": "837:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "826:3:13", - "nodeType": "YulIdentifier", - "src": "826:3:13" - }, - "nativeSrc": "826:16:13", - "nodeType": "YulFunctionCall", - "src": "826:16:13" - }, - { - "name": "pos", - "nativeSrc": "844:3:13", - "nodeType": "YulIdentifier", - "src": "844:3:13" - }, - { - "name": "length", - "nativeSrc": "849:6:13", - "nodeType": "YulIdentifier", - "src": "849:6:13" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "791:34:13", - "nodeType": "YulIdentifier", - "src": "791:34:13" - }, - "nativeSrc": "791:65:13", - "nodeType": "YulFunctionCall", - "src": "791:65:13" - }, - "nativeSrc": "791:65:13", - "nodeType": "YulExpressionStatement", - "src": "791:65:13" - }, - { - "nativeSrc": "865:46:13", - "nodeType": "YulAssignment", - "src": "865:46:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "876:3:13", - "nodeType": "YulIdentifier", - "src": "876:3:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "903:6:13", - "nodeType": "YulIdentifier", - "src": "903:6:13" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nativeSrc": "881:21:13", - "nodeType": "YulIdentifier", - "src": "881:21:13" - }, - "nativeSrc": "881:29:13", - "nodeType": "YulFunctionCall", - "src": "881:29:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "872:3:13", - "nodeType": "YulIdentifier", - "src": "872:3:13" - }, - "nativeSrc": "872:39:13", - "nodeType": "YulFunctionCall", - "src": "872:39:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "865:3:13", - "nodeType": "YulIdentifier", - "src": "865:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nativeSrc": "540:377:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "613:5:13", - "nodeType": "YulTypedName", - "src": "613:5:13", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "620:3:13", - "nodeType": "YulTypedName", - "src": "620:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "628:3:13", - "nodeType": "YulTypedName", - "src": "628:3:13", - "type": "" - } - ], - "src": "540:377:13" - }, - { - "body": { - "nativeSrc": "1041:195:13", - "nodeType": "YulBlock", - "src": "1041:195:13", - "statements": [ - { - "nativeSrc": "1051:26:13", - "nodeType": "YulAssignment", - "src": "1051:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1063:9:13", - "nodeType": "YulIdentifier", - "src": "1063:9:13" - }, - { - "kind": "number", - "nativeSrc": "1074:2:13", - "nodeType": "YulLiteral", - "src": "1074:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1059:3:13", - "nodeType": "YulIdentifier", - "src": "1059:3:13" - }, - "nativeSrc": "1059:18:13", - "nodeType": "YulFunctionCall", - "src": "1059:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "1051:4:13", - "nodeType": "YulIdentifier", - "src": "1051:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1098:9:13", - "nodeType": "YulIdentifier", - "src": "1098:9:13" - }, - { - "kind": "number", - "nativeSrc": "1109:1:13", - "nodeType": "YulLiteral", - "src": "1109:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1094:3:13", - "nodeType": "YulIdentifier", - "src": "1094:3:13" - }, - "nativeSrc": "1094:17:13", - "nodeType": "YulFunctionCall", - "src": "1094:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "1117:4:13", - "nodeType": "YulIdentifier", - "src": "1117:4:13" - }, - { - "name": "headStart", - "nativeSrc": "1123:9:13", - "nodeType": "YulIdentifier", - "src": "1123:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "1113:3:13", - "nodeType": "YulIdentifier", - "src": "1113:3:13" - }, - "nativeSrc": "1113:20:13", - "nodeType": "YulFunctionCall", - "src": "1113:20:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "1087:6:13", - "nodeType": "YulIdentifier", - "src": "1087:6:13" - }, - "nativeSrc": "1087:47:13", - "nodeType": "YulFunctionCall", - "src": "1087:47:13" - }, - "nativeSrc": "1087:47:13", - "nodeType": "YulExpressionStatement", - "src": "1087:47:13" - }, - { - "nativeSrc": "1143:86:13", - "nodeType": "YulAssignment", - "src": "1143:86:13", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "1215:6:13", - "nodeType": "YulIdentifier", - "src": "1215:6:13" - }, - { - "name": "tail", - "nativeSrc": "1224:4:13", - "nodeType": "YulIdentifier", - "src": "1224:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nativeSrc": "1151:63:13", - "nodeType": "YulIdentifier", - "src": "1151:63:13" - }, - "nativeSrc": "1151:78:13", - "nodeType": "YulFunctionCall", - "src": "1151:78:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "1143:4:13", - "nodeType": "YulIdentifier", - "src": "1143:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "923:313:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "1013:9:13", - "nodeType": "YulTypedName", - "src": "1013:9:13", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "1025:6:13", - "nodeType": "YulTypedName", - "src": "1025:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "1036:4:13", - "nodeType": "YulTypedName", - "src": "1036:4:13", - "type": "" - } - ], - "src": "923:313:13" - }, - { - "body": { - "nativeSrc": "1356:34:13", - "nodeType": "YulBlock", - "src": "1356:34:13", - "statements": [ - { - "nativeSrc": "1366:18:13", - "nodeType": "YulAssignment", - "src": "1366:18:13", - "value": { - "name": "pos", - "nativeSrc": "1381:3:13", - "nodeType": "YulIdentifier", - "src": "1381:3:13" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "1366:11:13", - "nodeType": "YulIdentifier", - "src": "1366:11:13" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "1242:148:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "1328:3:13", - "nodeType": "YulTypedName", - "src": "1328:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "1333:6:13", - "nodeType": "YulTypedName", - "src": "1333:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "1344:11:13", - "nodeType": "YulTypedName", - "src": "1344:11:13", - "type": "" - } - ], - "src": "1242:148:13" - }, - { - "body": { - "nativeSrc": "1506:280:13", - "nodeType": "YulBlock", - "src": "1506:280:13", - "statements": [ - { - "nativeSrc": "1516:53:13", - "nodeType": "YulVariableDeclaration", - "src": "1516:53:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "1563:5:13", - "nodeType": "YulIdentifier", - "src": "1563:5:13" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "1530:32:13", - "nodeType": "YulIdentifier", - "src": "1530:32:13" - }, - "nativeSrc": "1530:39:13", - "nodeType": "YulFunctionCall", - "src": "1530:39:13" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "1520:6:13", - "nodeType": "YulTypedName", - "src": "1520:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "1578:96:13", - "nodeType": "YulAssignment", - "src": "1578:96:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "1662:3:13", - "nodeType": "YulIdentifier", - "src": "1662:3:13" - }, - { - "name": "length", - "nativeSrc": "1667:6:13", - "nodeType": "YulIdentifier", - "src": "1667:6:13" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "1585:76:13", - "nodeType": "YulIdentifier", - "src": "1585:76:13" - }, - "nativeSrc": "1585:89:13", - "nodeType": "YulFunctionCall", - "src": "1585:89:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "1578:3:13", - "nodeType": "YulIdentifier", - "src": "1578:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "1722:5:13", - "nodeType": "YulIdentifier", - "src": "1722:5:13" - }, - { - "kind": "number", - "nativeSrc": "1729:4:13", - "nodeType": "YulLiteral", - "src": "1729:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1718:3:13", - "nodeType": "YulIdentifier", - "src": "1718:3:13" - }, - "nativeSrc": "1718:16:13", - "nodeType": "YulFunctionCall", - "src": "1718:16:13" - }, - { - "name": "pos", - "nativeSrc": "1736:3:13", - "nodeType": "YulIdentifier", - "src": "1736:3:13" - }, - { - "name": "length", - "nativeSrc": "1741:6:13", - "nodeType": "YulIdentifier", - "src": "1741:6:13" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "1683:34:13", - "nodeType": "YulIdentifier", - "src": "1683:34:13" - }, - "nativeSrc": "1683:65:13", - "nodeType": "YulFunctionCall", - "src": "1683:65:13" - }, - "nativeSrc": "1683:65:13", - "nodeType": "YulExpressionStatement", - "src": "1683:65:13" - }, - { - "nativeSrc": "1757:23:13", - "nodeType": "YulAssignment", - "src": "1757:23:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "1768:3:13", - "nodeType": "YulIdentifier", - "src": "1768:3:13" - }, - { - "name": "length", - "nativeSrc": "1773:6:13", - "nodeType": "YulIdentifier", - "src": "1773:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1764:3:13", - "nodeType": "YulIdentifier", - "src": "1764:3:13" - }, - "nativeSrc": "1764:16:13", - "nodeType": "YulFunctionCall", - "src": "1764:16:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "1757:3:13", - "nodeType": "YulIdentifier", - "src": "1757:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "1396:390:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "1487:5:13", - "nodeType": "YulTypedName", - "src": "1487:5:13", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "1494:3:13", - "nodeType": "YulTypedName", - "src": "1494:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "1502:3:13", - "nodeType": "YulTypedName", - "src": "1502:3:13", - "type": "" - } - ], - "src": "1396:390:13" - }, - { - "body": { - "nativeSrc": "1898:45:13", - "nodeType": "YulBlock", - "src": "1898:45:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "1920:6:13", - "nodeType": "YulIdentifier", - "src": "1920:6:13" - }, - { - "kind": "number", - "nativeSrc": "1928:1:13", - "nodeType": "YulLiteral", - "src": "1928:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1916:3:13", - "nodeType": "YulIdentifier", - "src": "1916:3:13" - }, - "nativeSrc": "1916:14:13", - "nodeType": "YulFunctionCall", - "src": "1916:14:13" - }, - { - "hexValue": "2e", - "kind": "string", - "nativeSrc": "1932:3:13", - "nodeType": "YulLiteral", - "src": "1932:3:13", - "type": "", - "value": "." - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "1909:6:13", - "nodeType": "YulIdentifier", - "src": "1909:6:13" - }, - "nativeSrc": "1909:27:13", - "nodeType": "YulFunctionCall", - "src": "1909:27:13" - }, - "nativeSrc": "1909:27:13", - "nodeType": "YulExpressionStatement", - "src": "1909:27:13" - } - ] - }, - "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "nativeSrc": "1792:151:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "1890:6:13", - "nodeType": "YulTypedName", - "src": "1890:6:13", - "type": "" - } - ], - "src": "1792:151:13" - }, - { - "body": { - "nativeSrc": "2113:236:13", - "nodeType": "YulBlock", - "src": "2113:236:13", - "statements": [ - { - "nativeSrc": "2123:91:13", - "nodeType": "YulAssignment", - "src": "2123:91:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "2207:3:13", - "nodeType": "YulIdentifier", - "src": "2207:3:13" - }, - { - "kind": "number", - "nativeSrc": "2212:1:13", - "nodeType": "YulLiteral", - "src": "2212:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "2130:76:13", - "nodeType": "YulIdentifier", - "src": "2130:76:13" - }, - "nativeSrc": "2130:84:13", - "nodeType": "YulFunctionCall", - "src": "2130:84:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "2123:3:13", - "nodeType": "YulIdentifier", - "src": "2123:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "2312:3:13", - "nodeType": "YulIdentifier", - "src": "2312:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "nativeSrc": "2223:88:13", - "nodeType": "YulIdentifier", - "src": "2223:88:13" - }, - "nativeSrc": "2223:93:13", - "nodeType": "YulFunctionCall", - "src": "2223:93:13" - }, - "nativeSrc": "2223:93:13", - "nodeType": "YulExpressionStatement", - "src": "2223:93:13" - }, - { - "nativeSrc": "2325:18:13", - "nodeType": "YulAssignment", - "src": "2325:18:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "2336:3:13", - "nodeType": "YulIdentifier", - "src": "2336:3:13" - }, - { - "kind": "number", - "nativeSrc": "2341:1:13", - "nodeType": "YulLiteral", - "src": "2341:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2332:3:13", - "nodeType": "YulIdentifier", - "src": "2332:3:13" - }, - "nativeSrc": "2332:11:13", - "nodeType": "YulFunctionCall", - "src": "2332:11:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "2325:3:13", - "nodeType": "YulIdentifier", - "src": "2325:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "1949:400:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "2101:3:13", - "nodeType": "YulTypedName", - "src": "2101:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "2109:3:13", - "nodeType": "YulTypedName", - "src": "2109:3:13", - "type": "" - } - ], - "src": "1949:400:13" - }, - { - "body": { - "nativeSrc": "2789:693:13", - "nodeType": "YulBlock", - "src": "2789:693:13", - "statements": [ - { - "nativeSrc": "2800:102:13", - "nodeType": "YulAssignment", - "src": "2800:102:13", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "2889:6:13", - "nodeType": "YulIdentifier", - "src": "2889:6:13" - }, - { - "name": "pos", - "nativeSrc": "2898:3:13", - "nodeType": "YulIdentifier", - "src": "2898:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "2807:81:13", - "nodeType": "YulIdentifier", - "src": "2807:81:13" - }, - "nativeSrc": "2807:95:13", - "nodeType": "YulFunctionCall", - "src": "2807:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "2800:3:13", - "nodeType": "YulIdentifier", - "src": "2800:3:13" - } - ] - }, - { - "nativeSrc": "2912:155:13", - "nodeType": "YulAssignment", - "src": "2912:155:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "3063:3:13", - "nodeType": "YulIdentifier", - "src": "3063:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "2919:142:13", - "nodeType": "YulIdentifier", - "src": "2919:142:13" - }, - "nativeSrc": "2919:148:13", - "nodeType": "YulFunctionCall", - "src": "2919:148:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "2912:3:13", - "nodeType": "YulIdentifier", - "src": "2912:3:13" - } - ] - }, - { - "nativeSrc": "3077:102:13", - "nodeType": "YulAssignment", - "src": "3077:102:13", - "value": { - "arguments": [ - { - "name": "value1", - "nativeSrc": "3166:6:13", - "nodeType": "YulIdentifier", - "src": "3166:6:13" - }, - { - "name": "pos", - "nativeSrc": "3175:3:13", - "nodeType": "YulIdentifier", - "src": "3175:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "3084:81:13", - "nodeType": "YulIdentifier", - "src": "3084:81:13" - }, - "nativeSrc": "3084:95:13", - "nodeType": "YulFunctionCall", - "src": "3084:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "3077:3:13", - "nodeType": "YulIdentifier", - "src": "3077:3:13" - } - ] - }, - { - "nativeSrc": "3189:155:13", - "nodeType": "YulAssignment", - "src": "3189:155:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "3340:3:13", - "nodeType": "YulIdentifier", - "src": "3340:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "3196:142:13", - "nodeType": "YulIdentifier", - "src": "3196:142:13" - }, - "nativeSrc": "3196:148:13", - "nodeType": "YulFunctionCall", - "src": "3196:148:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "3189:3:13", - "nodeType": "YulIdentifier", - "src": "3189:3:13" - } - ] - }, - { - "nativeSrc": "3354:102:13", - "nodeType": "YulAssignment", - "src": "3354:102:13", - "value": { - "arguments": [ - { - "name": "value2", - "nativeSrc": "3443:6:13", - "nodeType": "YulIdentifier", - "src": "3443:6:13" - }, - { - "name": "pos", - "nativeSrc": "3452:3:13", - "nodeType": "YulIdentifier", - "src": "3452:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "3361:81:13", - "nodeType": "YulIdentifier", - "src": "3361:81:13" - }, - "nativeSrc": "3361:95:13", - "nodeType": "YulFunctionCall", - "src": "3361:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "3354:3:13", - "nodeType": "YulIdentifier", - "src": "3354:3:13" - } - ] - }, - { - "nativeSrc": "3466:10:13", - "nodeType": "YulAssignment", - "src": "3466:10:13", - "value": { - "name": "pos", - "nativeSrc": "3473:3:13", - "nodeType": "YulIdentifier", - "src": "3473:3:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "3466:3:13", - "nodeType": "YulIdentifier", - "src": "3466:3:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "2355:1127:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "2752:3:13", - "nodeType": "YulTypedName", - "src": "2752:3:13", - "type": "" - }, - { - "name": "value2", - "nativeSrc": "2758:6:13", - "nodeType": "YulTypedName", - "src": "2758:6:13", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "2766:6:13", - "nodeType": "YulTypedName", - "src": "2766:6:13", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "2774:6:13", - "nodeType": "YulTypedName", - "src": "2774:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "2785:3:13", - "nodeType": "YulTypedName", - "src": "2785:3:13", - "type": "" - } - ], - "src": "2355:1127:13" - }, - { - "body": { - "nativeSrc": "3516:152:13", - "nodeType": "YulBlock", - "src": "3516:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3533:1:13", - "nodeType": "YulLiteral", - "src": "3533:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "3536:77:13", - "nodeType": "YulLiteral", - "src": "3536:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3526:6:13", - "nodeType": "YulIdentifier", - "src": "3526:6:13" - }, - "nativeSrc": "3526:88:13", - "nodeType": "YulFunctionCall", - "src": "3526:88:13" - }, - "nativeSrc": "3526:88:13", - "nodeType": "YulExpressionStatement", - "src": "3526:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3630:1:13", - "nodeType": "YulLiteral", - "src": "3630:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "3633:4:13", - "nodeType": "YulLiteral", - "src": "3633:4:13", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3623:6:13", - "nodeType": "YulIdentifier", - "src": "3623:6:13" - }, - "nativeSrc": "3623:15:13", - "nodeType": "YulFunctionCall", - "src": "3623:15:13" - }, - "nativeSrc": "3623:15:13", - "nodeType": "YulExpressionStatement", - "src": "3623:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3654:1:13", - "nodeType": "YulLiteral", - "src": "3654:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "3657:4:13", - "nodeType": "YulLiteral", - "src": "3657:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "3647:6:13", - "nodeType": "YulIdentifier", - "src": "3647:6:13" - }, - "nativeSrc": "3647:15:13", - "nodeType": "YulFunctionCall", - "src": "3647:15:13" - }, - "nativeSrc": "3647:15:13", - "nodeType": "YulExpressionStatement", - "src": "3647:15:13" - } - ] - }, - "name": "panic_error_0x41", - "nativeSrc": "3488:180:13", - "nodeType": "YulFunctionDefinition", - "src": "3488:180:13" - }, - { - "body": { - "nativeSrc": "3702:152:13", - "nodeType": "YulBlock", - "src": "3702:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3719:1:13", - "nodeType": "YulLiteral", - "src": "3719:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "3722:77:13", - "nodeType": "YulLiteral", - "src": "3722:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3712:6:13", - "nodeType": "YulIdentifier", - "src": "3712:6:13" - }, - "nativeSrc": "3712:88:13", - "nodeType": "YulFunctionCall", - "src": "3712:88:13" - }, - "nativeSrc": "3712:88:13", - "nodeType": "YulExpressionStatement", - "src": "3712:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3816:1:13", - "nodeType": "YulLiteral", - "src": "3816:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "3819:4:13", - "nodeType": "YulLiteral", - "src": "3819:4:13", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3809:6:13", - "nodeType": "YulIdentifier", - "src": "3809:6:13" - }, - "nativeSrc": "3809:15:13", - "nodeType": "YulFunctionCall", - "src": "3809:15:13" - }, - "nativeSrc": "3809:15:13", - "nodeType": "YulExpressionStatement", - "src": "3809:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3840:1:13", - "nodeType": "YulLiteral", - "src": "3840:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "3843:4:13", - "nodeType": "YulLiteral", - "src": "3843:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "3833:6:13", - "nodeType": "YulIdentifier", - "src": "3833:6:13" - }, - "nativeSrc": "3833:15:13", - "nodeType": "YulFunctionCall", - "src": "3833:15:13" - }, - "nativeSrc": "3833:15:13", - "nodeType": "YulExpressionStatement", - "src": "3833:15:13" - } - ] - }, - "name": "panic_error_0x12", - "nativeSrc": "3674:180:13", - "nodeType": "YulFunctionDefinition", - "src": "3674:180:13" - } - ] - }, - "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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 copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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 store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(memPtr) {\n\n mstore(add(memPtr, 0), \".\")\n\n }\n\n function abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(pos)\n end := add(pos, 1)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n}\n", - "id": 13, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": { - "2425": [ - { - "length": 32, - "start": 82 - } - ], - "2427": [ - { - "length": 32, - "start": 123 - } - ], - "2429": [ - { - "length": 32, - "start": 164 - } - ] - }, - "linkReferences": {}, - "object": "608060405234801561000f575f80fd5b5060043610610029575f3560e01c806354fd4d501461002d575b5f80fd5b61003561004b565b6040516100429190610379565b60405180910390f35b60606100767f00000000000000000000000000000000000000000000000000000000000000006100ee565b61009f7f00000000000000000000000000000000000000000000000000000000000000006100ee565b6100c87f00000000000000000000000000000000000000000000000000000000000000006100ee565b6040516020016100da9392919061041d565b604051602081830303815290604052905090565b60605f60016100fc846101b8565b0190505f8167ffffffffffffffff81111561011a57610119610463565b5b6040519080825280601f01601f19166020018201604052801561014c5781602001600182028036833780820191505090505b5090505f82602001820190505b6001156101ad578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816101a2576101a1610490565b5b0494505f8503610159575b819350505050919050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610214577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161020a57610209610490565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610251576d04ee2d6d415b85acef8100000000838161024757610246610490565b5b0492506020810190505b662386f26fc10000831061028057662386f26fc10000838161027657610275610490565b5b0492506010810190505b6305f5e10083106102a9576305f5e100838161029f5761029e610490565b5b0492506008810190505b61271083106102ce5761271083816102c4576102c3610490565b5b0492506004810190505b606483106102f157606483816102e7576102e6610490565b5b0492506002810190505b600a8310610300576001810190505b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61034b82610309565b6103558185610313565b9350610365818560208601610323565b61036e81610331565b840191505092915050565b5f6020820190508181035f8301526103918184610341565b905092915050565b5f81905092915050565b5f6103ad82610309565b6103b78185610399565b93506103c7818560208601610323565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610407600183610399565b9150610412826103d3565b600182019050919050565b5f61042882866103a3565b9150610433826103fb565b915061043f82856103a3565b915061044a826103fb565b915061045682846103a3565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea26469706673582212203fe2372ce44fc81b98b7537375f7edcec903044adb64bb54dc60667d6a6fb73964736f6c634300081a0033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42 SWAP2 SWAP1 PUSH2 0x379 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH2 0x76 PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH2 0x9F PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH2 0xC8 PUSH32 0x0 PUSH2 0xEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xDA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0xFC DUP5 PUSH2 0x1B8 JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x11A JUMPI PUSH2 0x119 PUSH2 0x463 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x14C JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x1AD JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x1A2 JUMPI PUSH2 0x1A1 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x159 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x214 JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x20A JUMPI PUSH2 0x209 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x251 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x247 JUMPI PUSH2 0x246 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x280 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x276 JUMPI PUSH2 0x275 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x2A9 JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x29F JUMPI PUSH2 0x29E PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x2CE JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x2C4 JUMPI PUSH2 0x2C3 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x2F1 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x2E7 JUMPI PUSH2 0x2E6 PUSH2 0x490 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x300 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x34B DUP3 PUSH2 0x309 JUMP JUMPDEST PUSH2 0x355 DUP2 DUP6 PUSH2 0x313 JUMP JUMPDEST SWAP4 POP PUSH2 0x365 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x323 JUMP JUMPDEST PUSH2 0x36E DUP2 PUSH2 0x331 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x391 DUP2 DUP5 PUSH2 0x341 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x3AD DUP3 PUSH2 0x309 JUMP JUMPDEST PUSH2 0x3B7 DUP2 DUP6 PUSH2 0x399 JUMP JUMPDEST SWAP4 POP PUSH2 0x3C7 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x323 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x407 PUSH1 0x1 DUP4 PUSH2 0x399 JUMP JUMPDEST SWAP2 POP PUSH2 0x412 DUP3 PUSH2 0x3D3 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x428 DUP3 DUP7 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP PUSH2 0x433 DUP3 PUSH2 0x3FB JUMP JUMPDEST SWAP2 POP PUSH2 0x43F DUP3 DUP6 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP PUSH2 0x44A DUP3 PUSH2 0x3FB JUMP JUMPDEST SWAP2 POP PUSH2 0x456 DUP3 DUP5 PUSH2 0x3A3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODEHASH 0xE2 CALLDATACOPY 0x2C 0xE4 0x4F 0xC8 SHL SWAP9 0xB7 MSTORE8 PUSH20 0x75F7EDCEC903044ADB64BB54DC60667D6A6FB739 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", - "sourceMap": "250:932:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;945:235;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;987:13;1072:24;1089:6;1072:16;:24::i;:::-;1103;1120:6;1103:16;:24::i;:::-;1134;1151:6;1134:16;:24::i;:::-;1055:104;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1012:161;;945:235;:::o;637:698:2:-;693:13;742:14;779:1;759:17;770:5;759:10;:17::i;:::-;:21;742:38;;794:20;828:6;817:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:41;;849:11;975:6;971:2;967:15;959:6;955:28;948:35;;1010:282;1017:4;1010:282;;;1041:5;;;;;;;;1180:10;1175:2;1168:5;1164:14;1159:32;1154:3;1146:46;1236:2;1227:11;;;;;;:::i;:::-;;;;;1269:1;1260:5;:10;1010:282;1256:21;1010:282;1312:6;1305:13;;;;;637:698;;;:::o;12214:916:3:-;12267:7;12286:14;12303:1;12286:18;;12351:8;12342:5;:17;12338:103;;12388:8;12379:17;;;;;;:::i;:::-;;;;;12424:2;12414:12;;;;12338:103;12467:8;12458:5;:17;12454:103;;12504:8;12495:17;;;;;;:::i;:::-;;;;;12540:2;12530:12;;;;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;;;;:::i;:::-;;;;;12656:2;12646:12;;;;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;;;;:::i;:::-;;;;;12770:1;12760:11;;;;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;;;;:::i;:::-;;;;;12883:1;12873:11;;;;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;;;;:::i;:::-;;;;;12996:1;12986:11;;;;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;;;;13025:66;13117:6;13110:13;;;12214:916;;;:::o;7:99:13:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:148::-;1344:11;1381:3;1366:18;;1242:148;;;;:::o;1396:390::-;1502:3;1530:39;1563:5;1530:39;:::i;:::-;1585:89;1667:6;1662:3;1585:89;:::i;:::-;1578:96;;1683:65;1741:6;1736:3;1729:4;1722:5;1718:16;1683:65;:::i;:::-;1773:6;1768:3;1764:16;1757:23;;1506:280;1396:390;;;;:::o;1792:151::-;1932:3;1928:1;1920:6;1916:14;1909:27;1792:151;:::o;1949:400::-;2109:3;2130:84;2212:1;2207:3;2130:84;:::i;:::-;2123:91;;2223:93;2312:3;2223:93;:::i;:::-;2341:1;2336:3;2332:11;2325:18;;1949:400;;;:::o;2355:1127::-;2785:3;2807:95;2898:3;2889:6;2807:95;:::i;:::-;2800:102;;2919:148;3063:3;2919:148;:::i;:::-;2912:155;;3084:95;3175:3;3166:6;3084:95;:::i;:::-;3077:102;;3196:148;3340:3;3196:148;:::i;:::-;3189:155;;3361:95;3452:3;3443:6;3361:95;:::i;:::-;3354:102;;3473:3;3466:10;;2355:1127;;;;;;:::o;3488:180::-;3536:77;3533:1;3526:88;3633:4;3630:1;3623:15;3657:4;3654:1;3647:15;3674:180;3722:77;3719:1;3712:88;3819:4;3816:1;3809:15;3843:4;3840:1;3833:15" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "253400", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "version()": "infinite" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "E0" - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 250, - "end": 1182, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "CALLVALUE", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "DUP1", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "ISZERO", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "PUSH [tag]", - "source": 11, - "value": "1" - }, - { - "begin": 692, - "end": 828, - "name": "JUMPI", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 692, - "end": 828, - "name": "DUP1", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "REVERT", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "tag", - "source": 11, - "value": "1" - }, - { - "begin": 692, - "end": 828, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "POP", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 692, - "end": 828, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "PUSHSIZE", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "CODESIZE", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "SUB", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "DUP1", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "PUSHSIZE", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "DUP4", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "CODECOPY", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "DUP2", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "DUP2", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "ADD", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 692, - "end": 828, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "DUP2", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "ADD", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "PUSH [tag]", - "source": 11, - "value": "2" - }, - { - "begin": 692, - "end": 828, - "name": "SWAP2", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "PUSH [tag]", - "source": 11, - "value": "3" - }, - { - "begin": 692, - "end": 828, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "tag", - "source": 11, - "value": "2" - }, - { - "begin": 692, - "end": 828, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 768, - "end": 773, - "name": "DUP3", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "PUSH", - "source": 11, - "value": "80" - }, - { - "begin": 759, - "end": 773, - "name": "DUP2", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "DUP2", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "POP", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "POP", - "source": 11 - }, - { - "begin": 792, - "end": 797, - "name": "DUP2", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "PUSH", - "source": 11, - "value": "A0" - }, - { - "begin": 783, - "end": 797, - "name": "DUP2", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "DUP2", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "POP", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "POP", - "source": 11 - }, - { - "begin": 816, - "end": 821, - "name": "DUP1", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "PUSH", - "source": 11, - "value": "C0" - }, - { - "begin": 807, - "end": 821, - "name": "DUP2", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "DUP2", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "POP", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "POP", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "POP", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "POP", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "POP", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH [tag]", - "source": 11, - "value": "6" - }, - { - "begin": 250, - "end": 1182, - "name": "JUMP", - "source": 11 - }, - { - "begin": 88, - "end": 205, - "name": "tag", - "source": 13, - "value": "8" - }, - { - "begin": 88, - "end": 205, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 197, - "end": 198, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 194, - "end": 195, - "name": "DUP1", - "source": 13 - }, - { - "begin": 187, - "end": 199, - "name": "REVERT", - "source": 13 - }, - { - "begin": 334, - "end": 411, - "name": "tag", - "source": 13, - "value": "10" - }, - { - "begin": 334, - "end": 411, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 371, - "end": 378, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 400, - "end": 405, - "name": "DUP2", - "source": 13 - }, - { - "begin": 389, - "end": 405, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 389, - "end": 405, - "name": "POP", - "source": 13 - }, - { - "begin": 334, - "end": 411, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 334, - "end": 411, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 334, - "end": 411, - "name": "POP", - "source": 13 - }, - { - "begin": 334, - "end": 411, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 417, - "end": 539, - "name": "tag", - "source": 13, - "value": "11" - }, - { - "begin": 417, - "end": 539, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 490, - "end": 514, - "name": "PUSH [tag]", - "source": 13, - "value": "19" - }, - { - "begin": 508, - "end": 513, - "name": "DUP2", - "source": 13 - }, - { - "begin": 490, - "end": 514, - "name": "PUSH [tag]", - "source": 13, - "value": "10" - }, - { - "begin": 490, - "end": 514, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 490, - "end": 514, - "name": "tag", - "source": 13, - "value": "19" - }, - { - "begin": 490, - "end": 514, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 483, - "end": 488, - "name": "DUP2", - "source": 13 - }, - { - "begin": 480, - "end": 515, - "name": "EQ", - "source": 13 - }, - { - "begin": 470, - "end": 533, - "name": "PUSH [tag]", - "source": 13, - "value": "20" - }, - { - "begin": 470, - "end": 533, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 529, - "end": 530, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 526, - "end": 527, - "name": "DUP1", - "source": 13 - }, - { - "begin": 519, - "end": 531, - "name": "REVERT", - "source": 13 - }, - { - "begin": 470, - "end": 533, - "name": "tag", - "source": 13, - "value": "20" - }, - { - "begin": 470, - "end": 533, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 417, - "end": 539, - "name": "POP", - "source": 13 - }, - { - "begin": 417, - "end": 539, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 545, - "end": 688, - "name": "tag", - "source": 13, - "value": "12" - }, - { - "begin": 545, - "end": 688, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 602, - "end": 607, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 633, - "end": 639, - "name": "DUP2", - "source": 13 - }, - { - "begin": 627, - "end": 640, - "name": "MLOAD", - "source": 13 - }, - { - "begin": 618, - "end": 640, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 618, - "end": 640, - "name": "POP", - "source": 13 - }, - { - "begin": 649, - "end": 682, - "name": "PUSH [tag]", - "source": 13, - "value": "22" - }, - { - "begin": 676, - "end": 681, - "name": "DUP2", - "source": 13 - }, - { - "begin": 649, - "end": 682, - "name": "PUSH [tag]", - "source": 13, - "value": "11" - }, - { - "begin": 649, - "end": 682, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 649, - "end": 682, - "name": "tag", - "source": 13, - "value": "22" - }, - { - "begin": 649, - "end": 682, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 545, - "end": 688, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 545, - "end": 688, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 545, - "end": 688, - "name": "POP", - "source": 13 - }, - { - "begin": 545, - "end": 688, - "name": "POP", - "source": 13 - }, - { - "begin": 545, - "end": 688, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 694, - "end": 1357, - "name": "tag", - "source": 13, - "value": "3" - }, - { - "begin": 694, - "end": 1357, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 782, - "end": 788, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 790, - "end": 796, - "name": "DUP1", - "source": 13 - }, - { - "begin": 798, - "end": 804, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 847, - "end": 849, - "name": "PUSH", - "source": 13, - "value": "60" - }, - { - "begin": 835, - "end": 844, - "name": "DUP5", - "source": 13 - }, - { - "begin": 826, - "end": 833, - "name": "DUP7", - "source": 13 - }, - { - "begin": 822, - "end": 845, - "name": "SUB", - "source": 13 - }, - { - "begin": 818, - "end": 850, - "name": "SLT", - "source": 13 - }, - { - "begin": 815, - "end": 934, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 815, - "end": 934, - "name": "PUSH [tag]", - "source": 13, - "value": "24" - }, - { - "begin": 815, - "end": 934, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 853, - "end": 932, - "name": "PUSH [tag]", - "source": 13, - "value": "25" - }, - { - "begin": 853, - "end": 932, - "name": "PUSH [tag]", - "source": 13, - "value": "8" - }, - { - "begin": 853, - "end": 932, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 853, - "end": 932, - "name": "tag", - "source": 13, - "value": "25" - }, - { - "begin": 853, - "end": 932, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 815, - "end": 934, - "name": "tag", - "source": 13, - "value": "24" - }, - { - "begin": 815, - "end": 934, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 973, - "end": 974, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 998, - "end": 1062, - "name": "PUSH [tag]", - "source": 13, - "value": "26" - }, - { - "begin": 1054, - "end": 1061, - "name": "DUP7", - "source": 13 - }, - { - "begin": 1045, - "end": 1051, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1034, - "end": 1043, - "name": "DUP8", - "source": 13 - }, - { - "begin": 1030, - "end": 1052, - "name": "ADD", - "source": 13 - }, - { - "begin": 998, - "end": 1062, - "name": "PUSH [tag]", - "source": 13, - "value": "12" - }, - { - "begin": 998, - "end": 1062, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 998, - "end": 1062, - "name": "tag", - "source": 13, - "value": "26" - }, - { - "begin": 998, - "end": 1062, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 988, - "end": 1062, - "name": "SWAP4", - "source": 13 - }, - { - "begin": 988, - "end": 1062, - "name": "POP", - "source": 13 - }, - { - "begin": 944, - "end": 1072, - "name": "POP", - "source": 13 - }, - { - "begin": 1111, - "end": 1113, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 1137, - "end": 1201, - "name": "PUSH [tag]", - "source": 13, - "value": "27" - }, - { - "begin": 1193, - "end": 1200, - "name": "DUP7", - "source": 13 - }, - { - "begin": 1184, - "end": 1190, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1173, - "end": 1182, - "name": "DUP8", - "source": 13 - }, - { - "begin": 1169, - "end": 1191, - "name": "ADD", - "source": 13 - }, - { - "begin": 1137, - "end": 1201, - "name": "PUSH [tag]", - "source": 13, - "value": "12" - }, - { - "begin": 1137, - "end": 1201, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1137, - "end": 1201, - "name": "tag", - "source": 13, - "value": "27" - }, - { - "begin": 1137, - "end": 1201, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1127, - "end": 1201, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 1127, - "end": 1201, - "name": "POP", - "source": 13 - }, - { - "begin": 1082, - "end": 1211, - "name": "POP", - "source": 13 - }, - { - "begin": 1250, - "end": 1252, - "name": "PUSH", - "source": 13, - "value": "40" - }, - { - "begin": 1276, - "end": 1340, - "name": "PUSH [tag]", - "source": 13, - "value": "28" - }, - { - "begin": 1332, - "end": 1339, - "name": "DUP7", - "source": 13 - }, - { - "begin": 1323, - "end": 1329, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1312, - "end": 1321, - "name": "DUP8", - "source": 13 - }, - { - "begin": 1308, - "end": 1330, - "name": "ADD", - "source": 13 - }, - { - "begin": 1276, - "end": 1340, - "name": "PUSH [tag]", - "source": 13, - "value": "12" - }, - { - "begin": 1276, - "end": 1340, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1276, - "end": 1340, - "name": "tag", - "source": 13, - "value": "28" - }, - { - "begin": 1276, - "end": 1340, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1266, - "end": 1340, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 1266, - "end": 1340, - "name": "POP", - "source": 13 - }, - { - "begin": 1221, - "end": 1350, - "name": "POP", - "source": 13 - }, - { - "begin": 694, - "end": 1357, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 694, - "end": 1357, - "name": "POP", - "source": 13 - }, - { - "begin": 694, - "end": 1357, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 694, - "end": 1357, - "name": "POP", - "source": 13 - }, - { - "begin": 694, - "end": 1357, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 694, - "end": 1357, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 250, - "end": 1182, - "name": "tag", - "source": 11, - "value": "6" - }, - { - "begin": 250, - "end": 1182, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "80" - }, - { - "begin": 250, - "end": 1182, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "A0" - }, - { - "begin": 250, - "end": 1182, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "C0" - }, - { - "begin": 250, - "end": 1182, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH #[$]", - "source": 11, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH [$]", - "source": 11, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 250, - "end": 1182, - "name": "CODECOPY", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 250, - "end": 1182, - "name": "ASSIGNIMMUTABLE", - "source": 11, - "value": "2429" - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 250, - "end": 1182, - "name": "ASSIGNIMMUTABLE", - "source": 11, - "value": "2427" - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 250, - "end": 1182, - "name": "ASSIGNIMMUTABLE", - "source": 11, - "value": "2425" - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH #[$]", - "source": 11, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 250, - "end": 1182, - "name": "RETURN", - "source": 11 - } - ], - ".data": { - "0": { - ".auxdata": "a26469706673582212203fe2372ce44fc81b98b7537375f7edcec903044adb64bb54dc60667d6a6fb73964736f6c634300081a0033", - ".code": [ - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "80" - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 250, - "end": 1182, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "CALLVALUE", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "DUP1", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "ISZERO", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH [tag]", - "source": 11, - "value": "1" - }, - { - "begin": 250, - "end": 1182, - "name": "JUMPI", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 250, - "end": 1182, - "name": "DUP1", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "REVERT", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "tag", - "source": 11, - "value": "1" - }, - { - "begin": 250, - "end": 1182, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "POP", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "4" - }, - { - "begin": 250, - "end": 1182, - "name": "CALLDATASIZE", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "LT", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH [tag]", - "source": 11, - "value": "2" - }, - { - "begin": 250, - "end": 1182, - "name": "JUMPI", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 250, - "end": 1182, - "name": "CALLDATALOAD", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "E0" - }, - { - "begin": 250, - "end": 1182, - "name": "SHR", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "DUP1", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "54FD4D50" - }, - { - "begin": 250, - "end": 1182, - "name": "EQ", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH [tag]", - "source": 11, - "value": "3" - }, - { - "begin": 250, - "end": 1182, - "name": "JUMPI", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "tag", - "source": 11, - "value": "2" - }, - { - "begin": 250, - "end": 1182, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 250, - "end": 1182, - "name": "DUP1", - "source": 11 - }, - { - "begin": 250, - "end": 1182, - "name": "REVERT", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "3" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "4" - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "5" - }, - { - "begin": 945, - "end": 1180, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "4" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 945, - "end": 1180, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "6" - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP2", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "7" - }, - { - "begin": 945, - "end": 1180, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "6" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 945, - "end": 1180, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "DUP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP2", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SUB", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "RETURN", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "5" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 987, - "end": 1000, - "name": "PUSH", - "source": 11, - "value": "60" - }, - { - "begin": 1072, - "end": 1096, - "name": "PUSH [tag]", - "source": 11, - "value": "9" - }, - { - "begin": 1089, - "end": 1095, - "name": "PUSHIMMUTABLE", - "source": 11, - "value": "2425" - }, - { - "begin": 1072, - "end": 1088, - "name": "PUSH [tag]", - "source": 11, - "value": "10" - }, - { - "begin": 1072, - "end": 1096, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 1072, - "end": 1096, - "name": "tag", - "source": 11, - "value": "9" - }, - { - "begin": 1072, - "end": 1096, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 1103, - "end": 1127, - "name": "PUSH [tag]", - "source": 11, - "value": "11" - }, - { - "begin": 1120, - "end": 1126, - "name": "PUSHIMMUTABLE", - "source": 11, - "value": "2427" - }, - { - "begin": 1103, - "end": 1119, - "name": "PUSH [tag]", - "source": 11, - "value": "10" - }, - { - "begin": 1103, - "end": 1127, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 1103, - "end": 1127, - "name": "tag", - "source": 11, - "value": "11" - }, - { - "begin": 1103, - "end": 1127, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 1134, - "end": 1158, - "name": "PUSH [tag]", - "source": 11, - "value": "12" - }, - { - "begin": 1151, - "end": 1157, - "name": "PUSHIMMUTABLE", - "source": 11, - "value": "2429" - }, - { - "begin": 1134, - "end": 1150, - "name": "PUSH [tag]", - "source": 11, - "value": "10" - }, - { - "begin": 1134, - "end": 1158, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 1134, - "end": 1158, - "name": "tag", - "source": 11, - "value": "12" - }, - { - "begin": 1134, - "end": 1158, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 1055, - "end": 1159, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "20" - }, - { - "begin": 1055, - "end": 1159, - "name": "ADD", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH [tag]", - "source": 11, - "value": "13" - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP4", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP3", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP2", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH [tag]", - "source": 11, - "value": "14" - }, - { - "begin": 1055, - "end": 1159, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "tag", - "source": 11, - "value": "13" - }, - { - "begin": 1055, - "end": 1159, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 1055, - "end": 1159, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "20" - }, - { - "begin": 1055, - "end": 1159, - "name": "DUP2", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "DUP4", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SUB", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SUB", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "DUP2", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 1055, - "end": 1159, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 1012, - "end": 1173, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 1012, - "end": 1173, - "name": "POP", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "jumpType": "[out]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 637, - "end": 1335, - "name": "tag", - "source": 2, - "value": "10" - }, - { - "begin": 637, - "end": 1335, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 693, - "end": 706, - "name": "PUSH", - "source": 2, - "value": "60" - }, - { - "begin": 742, - "end": 756, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 779, - "end": 780, - "name": "PUSH", - "source": 2, - "value": "1" - }, - { - "begin": 759, - "end": 776, - "name": "PUSH [tag]", - "source": 2, - "value": "16" - }, - { - "begin": 770, - "end": 775, - "name": "DUP5", - "source": 2 - }, - { - "begin": 759, - "end": 769, - "name": "PUSH [tag]", - "source": 2, - "value": "17" - }, - { - "begin": 759, - "end": 776, - "jumpType": "[in]", - "name": "JUMP", - "source": 2 - }, - { - "begin": 759, - "end": 776, - "name": "tag", - "source": 2, - "value": "16" - }, - { - "begin": 759, - "end": 776, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 759, - "end": 780, - "name": "ADD", - "source": 2 - }, - { - "begin": 742, - "end": 780, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 742, - "end": 780, - "name": "POP", - "source": 2 - }, - { - "begin": 794, - "end": 814, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 828, - "end": 834, - "name": "DUP2", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "FFFFFFFFFFFFFFFF" - }, - { - "begin": 817, - "end": 835, - "name": "DUP2", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "GT", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "ISZERO", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH [tag]", - "source": 2, - "value": "18" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH [tag]", - "source": 2, - "value": "19" - }, - { - "begin": 817, - "end": 835, - "name": "PUSH [tag]", - "source": 2, - "value": "20" - }, - { - "begin": 817, - "end": 835, - "jumpType": "[in]", - "name": "JUMP", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "tag", - "source": 2, - "value": "19" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "tag", - "source": 2, - "value": "18" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "40" - }, - { - "begin": 817, - "end": 835, - "name": "MLOAD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP3", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "MSTORE", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "1F" - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "1F" - }, - { - "begin": 817, - "end": 835, - "name": "NOT", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "AND", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP3", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "40" - }, - { - "begin": 817, - "end": 835, - "name": "MSTORE", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "ISZERO", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH [tag]", - "source": 2, - "value": "21" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP2", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "1" - }, - { - "begin": 817, - "end": 835, - "name": "DUP3", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "MUL", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "CALLDATASIZE", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP4", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "CALLDATACOPY", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP3", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "SWAP2", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "tag", - "source": 2, - "value": "21" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 794, - "end": 835, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 794, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 849, - "end": 860, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 975, - "end": 981, - "name": "DUP3", - "source": 2 - }, - { - "begin": 971, - "end": 973, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { - "begin": 967, - "end": 982, - "name": "ADD", - "source": 2 - }, - { - "begin": 959, - "end": 965, - "name": "DUP3", - "source": 2 - }, - { - "begin": 955, - "end": 983, - "name": "ADD", - "source": 2 - }, - { - "begin": 948, - "end": 983, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 948, - "end": 983, - "name": "POP", - "source": 2 - }, - { - "begin": 1010, - "end": 1292, - "name": "tag", - "source": 2, - "value": "22" - }, - { - "begin": 1010, - "end": 1292, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 1017, - "end": 1021, - "name": "PUSH", - "source": 2, - "value": "1" - }, - { - "begin": 1010, - "end": 1292, - "name": "ISZERO", - "source": 2 - }, - { - "begin": 1010, - "end": 1292, - "name": "PUSH [tag]", - "source": 2, - "value": "23" - }, - { - "begin": 1010, - "end": 1292, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "DUP1", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "DUP1", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "PUSH", - "source": 2, - "value": "1" - }, - { - "begin": 1041, - "end": 1046, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "SUB", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "SWAP2", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "POP", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "POP", - "source": 2 - }, - { - "begin": 1180, - "end": 1190, - "name": "PUSH", - "source": 2, - "value": "3031323334353637383961626364656600000000000000000000000000000000" - }, - { - "begin": 1175, - "end": 1177, - "name": "PUSH", - "source": 2, - "value": "A" - }, - { - "begin": 1168, - "end": 1173, - "name": "DUP7", - "source": 2 - }, - { - "begin": 1164, - "end": 1178, - "name": "MOD", - "source": 2 - }, - { - "begin": 1159, - "end": 1191, - "name": "BYTE", - "source": 2 - }, - { - "begin": 1154, - "end": 1157, - "name": "DUP2", - "source": 2 - }, - { - "begin": 1146, - "end": 1192, - "name": "MSTORE8", - "source": 2 - }, - { - "begin": 1236, - "end": 1238, - "name": "PUSH", - "source": 2, - "value": "A" - }, - { - "begin": 1227, - "end": 1238, - "name": "DUP6", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "DUP2", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "PUSH [tag]", - "source": 2, - "value": "24" - }, - { - "begin": 1227, - "end": 1238, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "PUSH [tag]", - "source": 2, - "value": "25" - }, - { - "begin": 1227, - "end": 1238, - "name": "PUSH [tag]", - "source": 2, - "value": "26" - }, - { - "begin": 1227, - "end": 1238, - "jumpType": "[in]", - "name": "JUMP", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "tag", - "source": 2, - "value": "25" - }, - { - "begin": 1227, - "end": 1238, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "tag", - "source": 2, - "value": "24" - }, - { - "begin": 1227, - "end": 1238, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "DIV", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "SWAP5", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "POP", - "source": 2 - }, - { - "begin": 1269, - "end": 1270, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 1260, - "end": 1265, - "name": "DUP6", - "source": 2 - }, - { - "begin": 1260, - "end": 1270, - "name": "SUB", - "source": 2 - }, - { - "begin": 1010, - "end": 1292, - "name": "PUSH [tag]", - "source": 2, - "value": "22" - }, - { - "begin": 1256, - "end": 1277, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 1010, - "end": 1292, - "name": "tag", - "source": 2, - "value": "23" - }, - { - "begin": 1010, - "end": 1292, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 1312, - "end": 1318, - "name": "DUP2", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "SWAP4", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "POP", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "POP", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "POP", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "POP", - "source": 2 - }, - { - "begin": 637, - "end": 1335, - "name": "SWAP2", - "source": 2 - }, - { - "begin": 637, - "end": 1335, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 637, - "end": 1335, - "name": "POP", - "source": 2 - }, - { - "begin": 637, - "end": 1335, - "jumpType": "[out]", - "name": "JUMP", - "source": 2 - }, - { - "begin": 12214, - "end": 13130, - "name": "tag", - "source": 3, - "value": "17" - }, - { - "begin": 12214, - "end": 13130, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12267, - "end": 12274, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 12286, - "end": 12300, - "name": "DUP1", - "source": 3 - }, - { - "begin": 12303, - "end": 12304, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 12286, - "end": 12304, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12286, - "end": 12304, - "name": "POP", - "source": 3 - }, - { - "begin": 12351, - "end": 12359, - "name": "PUSH", - "source": 3, - "value": "184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000" - }, - { - "begin": 12342, - "end": 12347, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12342, - "end": 12359, - "name": "LT", - "source": 3 - }, - { - "begin": 12338, - "end": 12441, - "name": "PUSH [tag]", - "source": 3, - "value": "29" - }, - { - "begin": 12338, - "end": 12441, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12388, - "end": 12396, - "name": "PUSH", - "source": 3, - "value": "184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000" - }, - { - "begin": 12379, - "end": 12396, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "PUSH [tag]", - "source": 3, - "value": "30" - }, - { - "begin": 12379, - "end": 12396, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "PUSH [tag]", - "source": 3, - "value": "31" - }, - { - "begin": 12379, - "end": 12396, - "name": "PUSH [tag]", - "source": 3, - "value": "26" - }, - { - "begin": 12379, - "end": 12396, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "tag", - "source": 3, - "value": "31" - }, - { - "begin": 12379, - "end": 12396, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "tag", - "source": 3, - "value": "30" - }, - { - "begin": 12379, - "end": 12396, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "DIV", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "POP", - "source": 3 - }, - { - "begin": 12424, - "end": 12426, - "name": "PUSH", - "source": 3, - "value": "40" - }, - { - "begin": 12414, - "end": 12426, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12414, - "end": 12426, - "name": "ADD", - "source": 3 - }, - { - "begin": 12414, - "end": 12426, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12414, - "end": 12426, - "name": "POP", - "source": 3 - }, - { - "begin": 12338, - "end": 12441, - "name": "tag", - "source": 3, - "value": "29" - }, - { - "begin": 12338, - "end": 12441, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12467, - "end": 12475, - "name": "PUSH", - "source": 3, - "value": "4EE2D6D415B85ACEF8100000000" - }, - { - "begin": 12458, - "end": 12463, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12458, - "end": 12475, - "name": "LT", - "source": 3 - }, - { - "begin": 12454, - "end": 12557, - "name": "PUSH [tag]", - "source": 3, - "value": "32" - }, - { - "begin": 12454, - "end": 12557, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12504, - "end": 12512, - "name": "PUSH", - "source": 3, - "value": "4EE2D6D415B85ACEF8100000000" - }, - { - "begin": 12495, - "end": 12512, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "PUSH [tag]", - "source": 3, - "value": "33" - }, - { - "begin": 12495, - "end": 12512, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "PUSH [tag]", - "source": 3, - "value": "34" - }, - { - "begin": 12495, - "end": 12512, - "name": "PUSH [tag]", - "source": 3, - "value": "26" - }, - { - "begin": 12495, - "end": 12512, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "tag", - "source": 3, - "value": "34" - }, - { - "begin": 12495, - "end": 12512, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "tag", - "source": 3, - "value": "33" - }, - { - "begin": 12495, - "end": 12512, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "DIV", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "POP", - "source": 3 - }, - { - "begin": 12540, - "end": 12542, - "name": "PUSH", - "source": 3, - "value": "20" - }, - { - "begin": 12530, - "end": 12542, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12530, - "end": 12542, - "name": "ADD", - "source": 3 - }, - { - "begin": 12530, - "end": 12542, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12530, - "end": 12542, - "name": "POP", - "source": 3 - }, - { - "begin": 12454, - "end": 12557, - "name": "tag", - "source": 3, - "value": "32" - }, - { - "begin": 12454, - "end": 12557, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12583, - "end": 12591, - "name": "PUSH", - "source": 3, - "value": "2386F26FC10000" - }, - { - "begin": 12574, - "end": 12579, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12574, - "end": 12591, - "name": "LT", - "source": 3 - }, - { - "begin": 12570, - "end": 12673, - "name": "PUSH [tag]", - "source": 3, - "value": "35" - }, - { - "begin": 12570, - "end": 12673, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12620, - "end": 12628, - "name": "PUSH", - "source": 3, - "value": "2386F26FC10000" - }, - { - "begin": 12611, - "end": 12628, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "PUSH [tag]", - "source": 3, - "value": "36" - }, - { - "begin": 12611, - "end": 12628, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "PUSH [tag]", - "source": 3, - "value": "37" - }, - { - "begin": 12611, - "end": 12628, - "name": "PUSH [tag]", - "source": 3, - "value": "26" - }, - { - "begin": 12611, - "end": 12628, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "tag", - "source": 3, - "value": "37" - }, - { - "begin": 12611, - "end": 12628, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "tag", - "source": 3, - "value": "36" - }, - { - "begin": 12611, - "end": 12628, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "DIV", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "POP", - "source": 3 - }, - { - "begin": 12656, - "end": 12658, - "name": "PUSH", - "source": 3, - "value": "10" - }, - { - "begin": 12646, - "end": 12658, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12646, - "end": 12658, - "name": "ADD", - "source": 3 - }, - { - "begin": 12646, - "end": 12658, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12646, - "end": 12658, - "name": "POP", - "source": 3 - }, - { - "begin": 12570, - "end": 12673, - "name": "tag", - "source": 3, - "value": "35" - }, - { - "begin": 12570, - "end": 12673, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12699, - "end": 12706, - "name": "PUSH", - "source": 3, - "value": "5F5E100" - }, - { - "begin": 12690, - "end": 12695, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12690, - "end": 12706, - "name": "LT", - "source": 3 - }, - { - "begin": 12686, - "end": 12786, - "name": "PUSH [tag]", - "source": 3, - "value": "38" - }, - { - "begin": 12686, - "end": 12786, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12735, - "end": 12742, - "name": "PUSH", - "source": 3, - "value": "5F5E100" - }, - { - "begin": 12726, - "end": 12742, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "PUSH [tag]", - "source": 3, - "value": "39" - }, - { - "begin": 12726, - "end": 12742, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "PUSH [tag]", - "source": 3, - "value": "40" - }, - { - "begin": 12726, - "end": 12742, - "name": "PUSH [tag]", - "source": 3, - "value": "26" - }, - { - "begin": 12726, - "end": 12742, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "tag", - "source": 3, - "value": "40" - }, - { - "begin": 12726, - "end": 12742, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "tag", - "source": 3, - "value": "39" - }, - { - "begin": 12726, - "end": 12742, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "DIV", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "POP", - "source": 3 - }, - { - "begin": 12770, - "end": 12771, - "name": "PUSH", - "source": 3, - "value": "8" - }, - { - "begin": 12760, - "end": 12771, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12760, - "end": 12771, - "name": "ADD", - "source": 3 - }, - { - "begin": 12760, - "end": 12771, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12760, - "end": 12771, - "name": "POP", - "source": 3 - }, - { - "begin": 12686, - "end": 12786, - "name": "tag", - "source": 3, - "value": "38" - }, - { - "begin": 12686, - "end": 12786, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12812, - "end": 12819, - "name": "PUSH", - "source": 3, - "value": "2710" - }, - { - "begin": 12803, - "end": 12808, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12803, - "end": 12819, - "name": "LT", - "source": 3 - }, - { - "begin": 12799, - "end": 12899, - "name": "PUSH [tag]", - "source": 3, - "value": "41" - }, - { - "begin": 12799, - "end": 12899, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12848, - "end": 12855, - "name": "PUSH", - "source": 3, - "value": "2710" - }, - { - "begin": 12839, - "end": 12855, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "PUSH [tag]", - "source": 3, - "value": "42" - }, - { - "begin": 12839, - "end": 12855, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "PUSH [tag]", - "source": 3, - "value": "43" - }, - { - "begin": 12839, - "end": 12855, - "name": "PUSH [tag]", - "source": 3, - "value": "26" - }, - { - "begin": 12839, - "end": 12855, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "tag", - "source": 3, - "value": "43" - }, - { - "begin": 12839, - "end": 12855, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "tag", - "source": 3, - "value": "42" - }, - { - "begin": 12839, - "end": 12855, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "DIV", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "POP", - "source": 3 - }, - { - "begin": 12883, - "end": 12884, - "name": "PUSH", - "source": 3, - "value": "4" - }, - { - "begin": 12873, - "end": 12884, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12873, - "end": 12884, - "name": "ADD", - "source": 3 - }, - { - "begin": 12873, - "end": 12884, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12873, - "end": 12884, - "name": "POP", - "source": 3 - }, - { - "begin": 12799, - "end": 12899, - "name": "tag", - "source": 3, - "value": "41" - }, - { - "begin": 12799, - "end": 12899, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12925, - "end": 12932, - "name": "PUSH", - "source": 3, - "value": "64" - }, - { - "begin": 12916, - "end": 12921, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12916, - "end": 12932, - "name": "LT", - "source": 3 - }, - { - "begin": 12912, - "end": 13012, - "name": "PUSH [tag]", - "source": 3, - "value": "44" - }, - { - "begin": 12912, - "end": 13012, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12961, - "end": 12968, - "name": "PUSH", - "source": 3, - "value": "64" - }, - { - "begin": 12952, - "end": 12968, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "PUSH [tag]", - "source": 3, - "value": "45" - }, - { - "begin": 12952, - "end": 12968, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "PUSH [tag]", - "source": 3, - "value": "46" - }, - { - "begin": 12952, - "end": 12968, - "name": "PUSH [tag]", - "source": 3, - "value": "26" - }, - { - "begin": 12952, - "end": 12968, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "tag", - "source": 3, - "value": "46" - }, - { - "begin": 12952, - "end": 12968, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "tag", - "source": 3, - "value": "45" - }, - { - "begin": 12952, - "end": 12968, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "DIV", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "POP", - "source": 3 - }, - { - "begin": 12996, - "end": 12997, - "name": "PUSH", - "source": 3, - "value": "2" - }, - { - "begin": 12986, - "end": 12997, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12986, - "end": 12997, - "name": "ADD", - "source": 3 - }, - { - "begin": 12986, - "end": 12997, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12986, - "end": 12997, - "name": "POP", - "source": 3 - }, - { - "begin": 12912, - "end": 13012, - "name": "tag", - "source": 3, - "value": "44" - }, - { - "begin": 12912, - "end": 13012, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 13038, - "end": 13045, - "name": "PUSH", - "source": 3, - "value": "A" - }, - { - "begin": 13029, - "end": 13034, - "name": "DUP4", - "source": 3 - }, - { - "begin": 13029, - "end": 13045, - "name": "LT", - "source": 3 - }, - { - "begin": 13025, - "end": 13091, - "name": "PUSH [tag]", - "source": 3, - "value": "47" - }, - { - "begin": 13025, - "end": 13091, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 13075, - "end": 13076, - "name": "PUSH", - "source": 3, - "value": "1" - }, - { - "begin": 13065, - "end": 13076, - "name": "DUP2", - "source": 3 - }, - { - "begin": 13065, - "end": 13076, - "name": "ADD", - "source": 3 - }, - { - "begin": 13065, - "end": 13076, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 13065, - "end": 13076, - "name": "POP", - "source": 3 - }, - { - "begin": 13025, - "end": 13091, - "name": "tag", - "source": 3, - "value": "47" - }, - { - "begin": 13025, - "end": 13091, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 13117, - "end": 13123, - "name": "DUP1", - "source": 3 - }, - { - "begin": 13110, - "end": 13123, - "name": "SWAP2", - "source": 3 - }, - { - "begin": 13110, - "end": 13123, - "name": "POP", - "source": 3 - }, - { - "begin": 13110, - "end": 13123, - "name": "POP", - "source": 3 - }, - { - "begin": 12214, - "end": 13130, - "name": "SWAP2", - "source": 3 - }, - { - "begin": 12214, - "end": 13130, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12214, - "end": 13130, - "name": "POP", - "source": 3 - }, - { - "begin": 12214, - "end": 13130, - "jumpType": "[out]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 7, - "end": 106, - "name": "tag", - "source": 13, - "value": "48" - }, - { - "begin": 7, - "end": 106, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 59, - "end": 65, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 93, - "end": 98, - "name": "DUP2", - "source": 13 - }, - { - "begin": 87, - "end": 99, - "name": "MLOAD", - "source": 13 - }, - { - "begin": 77, - "end": 99, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 77, - "end": 99, - "name": "POP", - "source": 13 - }, - { - "begin": 7, - "end": 106, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 7, - "end": 106, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 7, - "end": 106, - "name": "POP", - "source": 13 - }, - { - "begin": 7, - "end": 106, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "tag", - "source": 13, - "value": "49" - }, - { - "begin": 112, - "end": 281, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 196, - "end": 207, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 230, - "end": 236, - "name": "DUP3", - "source": 13 - }, - { - "begin": 225, - "end": 228, - "name": "DUP3", - "source": 13 - }, - { - "begin": 218, - "end": 237, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 270, - "end": 274, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 265, - "end": 268, - "name": "DUP3", - "source": 13 - }, - { - "begin": 261, - "end": 275, - "name": "ADD", - "source": 13 - }, - { - "begin": 246, - "end": 275, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 246, - "end": 275, - "name": "POP", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "POP", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "POP", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "name": "tag", - "source": 13, - "value": "50" - }, - { - "begin": 287, - "end": 426, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 376, - "end": 382, - "name": "DUP3", - "source": 13 - }, - { - "begin": 371, - "end": 374, - "name": "DUP2", - "source": 13 - }, - { - "begin": 366, - "end": 369, - "name": "DUP4", - "source": 13 - }, - { - "begin": 360, - "end": 383, - "name": "MCOPY", - "source": 13 - }, - { - "begin": 417, - "end": 418, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 408, - "end": 414, - "name": "DUP4", - "source": 13 - }, - { - "begin": 403, - "end": 406, - "name": "DUP4", - "source": 13 - }, - { - "begin": 399, - "end": 415, - "name": "ADD", - "source": 13 - }, - { - "begin": 392, - "end": 419, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "name": "POP", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "name": "POP", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "name": "POP", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "name": "tag", - "source": 13, - "value": "51" - }, - { - "begin": 432, - "end": 534, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 473, - "end": 479, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 524, - "end": 526, - "name": "PUSH", - "source": 13, - "value": "1F" - }, - { - "begin": 520, - "end": 527, - "name": "NOT", - "source": 13 - }, - { - "begin": 515, - "end": 517, - "name": "PUSH", - "source": 13, - "value": "1F" - }, - { - "begin": 508, - "end": 513, - "name": "DUP4", - "source": 13 - }, - { - "begin": 504, - "end": 518, - "name": "ADD", - "source": 13 - }, - { - "begin": 500, - "end": 528, - "name": "AND", - "source": 13 - }, - { - "begin": 490, - "end": 528, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 490, - "end": 528, - "name": "POP", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "name": "POP", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "tag", - "source": 13, - "value": "52" - }, - { - "begin": 540, - "end": 917, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 628, - "end": 631, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 656, - "end": 695, - "name": "PUSH [tag]", - "source": 13, - "value": "63" - }, - { - "begin": 689, - "end": 694, - "name": "DUP3", - "source": 13 - }, - { - "begin": 656, - "end": 695, - "name": "PUSH [tag]", - "source": 13, - "value": "48" - }, - { - "begin": 656, - "end": 695, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 656, - "end": 695, - "name": "tag", - "source": 13, - "value": "63" - }, - { - "begin": 656, - "end": 695, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 711, - "end": 782, - "name": "PUSH [tag]", - "source": 13, - "value": "64" - }, - { - "begin": 775, - "end": 781, - "name": "DUP2", - "source": 13 - }, - { - "begin": 770, - "end": 773, - "name": "DUP6", - "source": 13 - }, - { - "begin": 711, - "end": 782, - "name": "PUSH [tag]", - "source": 13, - "value": "49" - }, - { - "begin": 711, - "end": 782, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 711, - "end": 782, - "name": "tag", - "source": 13, - "value": "64" - }, - { - "begin": 711, - "end": 782, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 704, - "end": 782, - "name": "SWAP4", - "source": 13 - }, - { - "begin": 704, - "end": 782, - "name": "POP", - "source": 13 - }, - { - "begin": 791, - "end": 856, - "name": "PUSH [tag]", - "source": 13, - "value": "65" - }, - { - "begin": 849, - "end": 855, - "name": "DUP2", - "source": 13 - }, - { - "begin": 844, - "end": 847, - "name": "DUP6", - "source": 13 - }, - { - "begin": 837, - "end": 841, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 830, - "end": 835, - "name": "DUP7", - "source": 13 - }, - { - "begin": 826, - "end": 842, - "name": "ADD", - "source": 13 - }, - { - "begin": 791, - "end": 856, - "name": "PUSH [tag]", - "source": 13, - "value": "50" - }, - { - "begin": 791, - "end": 856, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 791, - "end": 856, - "name": "tag", - "source": 13, - "value": "65" - }, - { - "begin": 791, - "end": 856, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 881, - "end": 910, - "name": "PUSH [tag]", - "source": 13, - "value": "66" - }, - { - "begin": 903, - "end": 909, - "name": "DUP2", - "source": 13 - }, - { - "begin": 881, - "end": 910, - "name": "PUSH [tag]", - "source": 13, - "value": "51" - }, - { - "begin": 881, - "end": 910, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 881, - "end": 910, - "name": "tag", - "source": 13, - "value": "66" - }, - { - "begin": 881, - "end": 910, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 876, - "end": 879, - "name": "DUP5", - "source": 13 - }, - { - "begin": 872, - "end": 911, - "name": "ADD", - "source": 13 - }, - { - "begin": 865, - "end": 911, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 865, - "end": 911, - "name": "POP", - "source": 13 - }, - { - "begin": 632, - "end": 917, - "name": "POP", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "POP", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "POP", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "tag", - "source": 13, - "value": "7" - }, - { - "begin": 923, - "end": 1236, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1036, - "end": 1040, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1074, - "end": 1076, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 1063, - "end": 1072, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1059, - "end": 1077, - "name": "ADD", - "source": 13 - }, - { - "begin": 1051, - "end": 1077, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 1051, - "end": 1077, - "name": "POP", - "source": 13 - }, - { - "begin": 1123, - "end": 1132, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1117, - "end": 1121, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1113, - "end": 1133, - "name": "SUB", - "source": 13 - }, - { - "begin": 1109, - "end": 1110, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1098, - "end": 1107, - "name": "DUP4", - "source": 13 - }, - { - "begin": 1094, - "end": 1111, - "name": "ADD", - "source": 13 - }, - { - "begin": 1087, - "end": 1134, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 1151, - "end": 1229, - "name": "PUSH [tag]", - "source": 13, - "value": "68" - }, - { - "begin": 1224, - "end": 1228, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1215, - "end": 1221, - "name": "DUP5", - "source": 13 - }, - { - "begin": 1151, - "end": 1229, - "name": "PUSH [tag]", - "source": 13, - "value": "52" - }, - { - "begin": 1151, - "end": 1229, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1151, - "end": 1229, - "name": "tag", - "source": 13, - "value": "68" - }, - { - "begin": 1151, - "end": 1229, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1143, - "end": 1229, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 1143, - "end": 1229, - "name": "POP", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "POP", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "POP", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1242, - "end": 1390, - "name": "tag", - "source": 13, - "value": "53" - }, - { - "begin": 1242, - "end": 1390, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1344, - "end": 1355, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1381, - "end": 1384, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1366, - "end": 1384, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 1366, - "end": 1384, - "name": "POP", - "source": 13 - }, - { - "begin": 1242, - "end": 1390, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 1242, - "end": 1390, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 1242, - "end": 1390, - "name": "POP", - "source": 13 - }, - { - "begin": 1242, - "end": 1390, - "name": "POP", - "source": 13 - }, - { - "begin": 1242, - "end": 1390, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1396, - "end": 1786, - "name": "tag", - "source": 13, - "value": "54" - }, - { - "begin": 1396, - "end": 1786, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1502, - "end": 1505, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1530, - "end": 1569, - "name": "PUSH [tag]", - "source": 13, - "value": "71" - }, - { - "begin": 1563, - "end": 1568, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1530, - "end": 1569, - "name": "PUSH [tag]", - "source": 13, - "value": "48" - }, - { - "begin": 1530, - "end": 1569, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1530, - "end": 1569, - "name": "tag", - "source": 13, - "value": "71" - }, - { - "begin": 1530, - "end": 1569, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1585, - "end": 1674, - "name": "PUSH [tag]", - "source": 13, - "value": "72" - }, - { - "begin": 1667, - "end": 1673, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1662, - "end": 1665, - "name": "DUP6", - "source": 13 - }, - { - "begin": 1585, - "end": 1674, - "name": "PUSH [tag]", - "source": 13, - "value": "53" - }, - { - "begin": 1585, - "end": 1674, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1585, - "end": 1674, - "name": "tag", - "source": 13, - "value": "72" - }, - { - "begin": 1585, - "end": 1674, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1578, - "end": 1674, - "name": "SWAP4", - "source": 13 - }, - { - "begin": 1578, - "end": 1674, - "name": "POP", - "source": 13 - }, - { - "begin": 1683, - "end": 1748, - "name": "PUSH [tag]", - "source": 13, - "value": "73" - }, - { - "begin": 1741, - "end": 1747, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1736, - "end": 1739, - "name": "DUP6", - "source": 13 - }, - { - "begin": 1729, - "end": 1733, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 1722, - "end": 1727, - "name": "DUP7", - "source": 13 - }, - { - "begin": 1718, - "end": 1734, - "name": "ADD", - "source": 13 - }, - { - "begin": 1683, - "end": 1748, - "name": "PUSH [tag]", - "source": 13, - "value": "50" - }, - { - "begin": 1683, - "end": 1748, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1683, - "end": 1748, - "name": "tag", - "source": 13, - "value": "73" - }, - { - "begin": 1683, - "end": 1748, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1773, - "end": 1779, - "name": "DUP1", - "source": 13 - }, - { - "begin": 1768, - "end": 1771, - "name": "DUP5", - "source": 13 - }, - { - "begin": 1764, - "end": 1780, - "name": "ADD", - "source": 13 - }, - { - "begin": 1757, - "end": 1780, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 1757, - "end": 1780, - "name": "POP", - "source": 13 - }, - { - "begin": 1506, - "end": 1786, - "name": "POP", - "source": 13 - }, - { - "begin": 1396, - "end": 1786, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 1396, - "end": 1786, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 1396, - "end": 1786, - "name": "POP", - "source": 13 - }, - { - "begin": 1396, - "end": 1786, - "name": "POP", - "source": 13 - }, - { - "begin": 1396, - "end": 1786, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1792, - "end": 1943, - "name": "tag", - "source": 13, - "value": "55" - }, - { - "begin": 1792, - "end": 1943, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1932, - "end": 1935, - "name": "PUSH", - "source": 13, - "value": "2E00000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 1928, - "end": 1929, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1920, - "end": 1926, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1916, - "end": 1930, - "name": "ADD", - "source": 13 - }, - { - "begin": 1909, - "end": 1936, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 1792, - "end": 1943, - "name": "POP", - "source": 13 - }, - { - "begin": 1792, - "end": 1943, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1949, - "end": 2349, - "name": "tag", - "source": 13, - "value": "56" - }, - { - "begin": 1949, - "end": 2349, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2109, - "end": 2112, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 2130, - "end": 2214, - "name": "PUSH [tag]", - "source": 13, - "value": "76" - }, - { - "begin": 2212, - "end": 2213, - "name": "PUSH", - "source": 13, - "value": "1" - }, - { - "begin": 2207, - "end": 2210, - "name": "DUP4", - "source": 13 - }, - { - "begin": 2130, - "end": 2214, - "name": "PUSH [tag]", - "source": 13, - "value": "53" - }, - { - "begin": 2130, - "end": 2214, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2130, - "end": 2214, - "name": "tag", - "source": 13, - "value": "76" - }, - { - "begin": 2130, - "end": 2214, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2123, - "end": 2214, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 2123, - "end": 2214, - "name": "POP", - "source": 13 - }, - { - "begin": 2223, - "end": 2316, - "name": "PUSH [tag]", - "source": 13, - "value": "77" - }, - { - "begin": 2312, - "end": 2315, - "name": "DUP3", - "source": 13 - }, - { - "begin": 2223, - "end": 2316, - "name": "PUSH [tag]", - "source": 13, - "value": "55" - }, - { - "begin": 2223, - "end": 2316, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2223, - "end": 2316, - "name": "tag", - "source": 13, - "value": "77" - }, - { - "begin": 2223, - "end": 2316, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2341, - "end": 2342, - "name": "PUSH", - "source": 13, - "value": "1" - }, - { - "begin": 2336, - "end": 2339, - "name": "DUP3", - "source": 13 - }, - { - "begin": 2332, - "end": 2343, - "name": "ADD", - "source": 13 - }, - { - "begin": 2325, - "end": 2343, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 2325, - "end": 2343, - "name": "POP", - "source": 13 - }, - { - "begin": 1949, - "end": 2349, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 1949, - "end": 2349, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 1949, - "end": 2349, - "name": "POP", - "source": 13 - }, - { - "begin": 1949, - "end": 2349, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2355, - "end": 3482, - "name": "tag", - "source": 13, - "value": "14" - }, - { - "begin": 2355, - "end": 3482, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2785, - "end": 2788, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 2807, - "end": 2902, - "name": "PUSH [tag]", - "source": 13, - "value": "79" - }, - { - "begin": 2898, - "end": 2901, - "name": "DUP3", - "source": 13 - }, - { - "begin": 2889, - "end": 2895, - "name": "DUP7", - "source": 13 - }, - { - "begin": 2807, - "end": 2902, - "name": "PUSH [tag]", - "source": 13, - "value": "54" - }, - { - "begin": 2807, - "end": 2902, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2807, - "end": 2902, - "name": "tag", - "source": 13, - "value": "79" - }, - { - "begin": 2807, - "end": 2902, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2800, - "end": 2902, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 2800, - "end": 2902, - "name": "POP", - "source": 13 - }, - { - "begin": 2919, - "end": 3067, - "name": "PUSH [tag]", - "source": 13, - "value": "80" - }, - { - "begin": 3063, - "end": 3066, - "name": "DUP3", - "source": 13 - }, - { - "begin": 2919, - "end": 3067, - "name": "PUSH [tag]", - "source": 13, - "value": "56" - }, - { - "begin": 2919, - "end": 3067, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2919, - "end": 3067, - "name": "tag", - "source": 13, - "value": "80" - }, - { - "begin": 2919, - "end": 3067, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2912, - "end": 3067, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 2912, - "end": 3067, - "name": "POP", - "source": 13 - }, - { - "begin": 3084, - "end": 3179, - "name": "PUSH [tag]", - "source": 13, - "value": "81" - }, - { - "begin": 3175, - "end": 3178, - "name": "DUP3", - "source": 13 - }, - { - "begin": 3166, - "end": 3172, - "name": "DUP6", - "source": 13 - }, - { - "begin": 3084, - "end": 3179, - "name": "PUSH [tag]", - "source": 13, - "value": "54" - }, - { - "begin": 3084, - "end": 3179, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3084, - "end": 3179, - "name": "tag", - "source": 13, - "value": "81" - }, - { - "begin": 3084, - "end": 3179, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3077, - "end": 3179, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 3077, - "end": 3179, - "name": "POP", - "source": 13 - }, - { - "begin": 3196, - "end": 3344, - "name": "PUSH [tag]", - "source": 13, - "value": "82" - }, - { - "begin": 3340, - "end": 3343, - "name": "DUP3", - "source": 13 - }, - { - "begin": 3196, - "end": 3344, - "name": "PUSH [tag]", - "source": 13, - "value": "56" - }, - { - "begin": 3196, - "end": 3344, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3196, - "end": 3344, - "name": "tag", - "source": 13, - "value": "82" - }, - { - "begin": 3196, - "end": 3344, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3189, - "end": 3344, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 3189, - "end": 3344, - "name": "POP", - "source": 13 - }, - { - "begin": 3361, - "end": 3456, - "name": "PUSH [tag]", - "source": 13, - "value": "83" - }, - { - "begin": 3452, - "end": 3455, - "name": "DUP3", - "source": 13 - }, - { - "begin": 3443, - "end": 3449, - "name": "DUP5", - "source": 13 - }, - { - "begin": 3361, - "end": 3456, - "name": "PUSH [tag]", - "source": 13, - "value": "54" - }, - { - "begin": 3361, - "end": 3456, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3361, - "end": 3456, - "name": "tag", - "source": 13, - "value": "83" - }, - { - "begin": 3361, - "end": 3456, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3354, - "end": 3456, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 3354, - "end": 3456, - "name": "POP", - "source": 13 - }, - { - "begin": 3473, - "end": 3476, - "name": "DUP2", - "source": 13 - }, - { - "begin": 3466, - "end": 3476, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 3466, - "end": 3476, - "name": "POP", - "source": 13 - }, - { - "begin": 2355, - "end": 3482, - "name": "SWAP5", - "source": 13 - }, - { - "begin": 2355, - "end": 3482, - "name": "SWAP4", - "source": 13 - }, - { - "begin": 2355, - "end": 3482, - "name": "POP", - "source": 13 - }, - { - "begin": 2355, - "end": 3482, - "name": "POP", - "source": 13 - }, - { - "begin": 2355, - "end": 3482, - "name": "POP", - "source": 13 - }, - { - "begin": 2355, - "end": 3482, - "name": "POP", - "source": 13 - }, - { - "begin": 2355, - "end": 3482, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3488, - "end": 3668, - "name": "tag", - "source": 13, - "value": "20" - }, - { - "begin": 3488, - "end": 3668, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3536, - "end": 3613, - "name": "PUSH", - "source": 13, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 3533, - "end": 3534, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 3526, - "end": 3614, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 3633, - "end": 3637, - "name": "PUSH", - "source": 13, - "value": "41" - }, - { - "begin": 3630, - "end": 3631, - "name": "PUSH", - "source": 13, - "value": "4" - }, - { - "begin": 3623, - "end": 3638, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 3657, - "end": 3661, - "name": "PUSH", - "source": 13, - "value": "24" - }, - { - "begin": 3654, - "end": 3655, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 3647, - "end": 3662, - "name": "REVERT", - "source": 13 - }, - { - "begin": 3674, - "end": 3854, - "name": "tag", - "source": 13, - "value": "26" - }, - { - "begin": 3674, - "end": 3854, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3722, - "end": 3799, - "name": "PUSH", - "source": 13, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 3719, - "end": 3720, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 3712, - "end": 3800, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 3819, - "end": 3823, - "name": "PUSH", - "source": 13, - "value": "12" - }, - { - "begin": 3816, - "end": 3817, - "name": "PUSH", - "source": 13, - "value": "4" - }, - { - "begin": 3809, - "end": 3824, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 3843, - "end": 3847, - "name": "PUSH", - "source": 13, - "value": "24" - }, - { - "begin": 3840, - "end": 3841, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 3833, - "end": 3848, - "name": "REVERT", - "source": 13 - } - ] - } - }, - "sourceList": [ - "@openzeppelin/contracts/access/Ownable.sol", - "@openzeppelin/contracts/utils/Context.sol", - "@openzeppelin/contracts/utils/Strings.sol", - "@openzeppelin/contracts/utils/math/Math.sol", - "@openzeppelin/contracts/utils/math/SignedMath.sol", - "EAS/Common.sol", - "EAS/IEAS.sol", - "EAS/ISchemaRegistry.sol", - "EAS/ISchemaResolver.sol", - "EAS/ISemver.sol", - "EAS/SchemaResolver.sol", - "EAS/Semver.sol", - "ownable-resolver.sol", - "#utility.yul" - ] - }, - "methodIdentifiers": { - "version()": "54fd4d50" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"major\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"patch\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Create a new Semver instance.\",\"params\":{\"major\":\"Major version number.\",\"minor\":\"Minor version number.\",\"patch\":\"Patch version number.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"Semver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"notice\":\"A simple contract for managing contract versions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"EAS/Semver.sol\":\"Semver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]},\"EAS/Semver.sol\":{\"keccak256\":\"0xcb67b60a08b4acb41ccda1ee2a44bb3d4291f3da9ecd60eed49991bdbfafb972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eea3e91b983ce442be39c0a88c93627043d1c6de342be99562916a948a5933e3\",\"dweb:/ipfs/QmTFeE2vsjwn1pNeSMWAoQ4NivUTHza5DYMgJA854Ddx8F\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": { - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "notice": "A simple contract for managing contract versions.", - "version": 1 - } - } - }, - "ownable-resolver.sol": { - "OwnerRecipientResolver": { - "abi": [ - { - "inputs": [ - { - "internalType": "contract IEAS", - "name": "eas", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "AccessDenied", - "type": "error" - }, - { - "inputs": [], - "name": "InsufficientValue", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidEAS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidLength", - "type": "error" - }, - { - "inputs": [], - "name": "NotPayable", - "type": "error" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "attestation", - "type": "tuple" - } - ], - "name": "attest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "isPayable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation[]", - "name": "attestations", - "type": "tuple[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multiAttest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation[]", - "name": "attestations", - "type": "tuple[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multiRevoke", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "uid", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "schema", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "time", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "expirationTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "revocationTime", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "refUID", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "attester", - "type": "address" - }, - { - "internalType": "bool", - "name": "revocable", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Attestation", - "name": "attestation", - "type": "tuple" - } - ], - "name": "revoke", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "params": { - "attestation": "The new attestation." - }, - "returns": { - "_0": "Whether the attestation is valid." - } - }, - "isPayable()": { - "returns": { - "_0": "Whether the resolver supports ETH transfers." - } - }, - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "params": { - "attestations": "The new attestations.", - "values": "Explicit ETH amounts which were sent with each attestation." - }, - "returns": { - "_0": "Whether all the attestations are valid." - } - }, - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "params": { - "attestations": "The existing attestations to be revoked.", - "values": "Explicit ETH amounts which were sent with each revocation." - }, - "returns": { - "_0": "Whether the attestations can be revoked." - } - }, - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "params": { - "attestation": "The existing attestation to be revoked." - }, - "returns": { - "_0": "Whether the attestation can be revoked." - } - }, - "version()": { - "returns": { - "_0": "Semver contract version as a string." - } - } - }, - "title": "A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient.", - "version": 1 - }, - "evm": { - "assembly": " /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\n mstore(0x40, 0x0100)\n /* \"ownable-resolver.sol\":400:444 constructor(IEAS eas) SchemaResolver(eas) {} */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"ownable-resolver.sol\":437:440 eas */\n dup1\n /* \"EAS/SchemaResolver.sol\":676:677 1 */\n 0x01\n /* \"EAS/SchemaResolver.sol\":679:680 3 */\n 0x03\n /* \"EAS/SchemaResolver.sol\":682:683 0 */\n 0x00\n /* \"EAS/Semver.sol\":768:773 major */\n dup3\n /* \"EAS/Semver.sol\":759:773 _major = major */\n 0x80\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":792:797 minor */\n dup2\n /* \"EAS/Semver.sol\":783:797 _minor = minor */\n 0xa0\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":816:821 patch */\n dup1\n /* \"EAS/Semver.sol\":807:821 _patch = patch */\n 0xc0\n dup2\n dup2\n mstore\n pop\n pop\n /* \"EAS/Semver.sol\":692:828 constructor(uint256 major, uint256 minor, uint256 patch) {... */\n pop\n pop\n pop\n /* \"EAS/SchemaResolver.sol\":723:724 0 */\n 0x00\n /* \"EAS/SchemaResolver.sol\":699:725 address(eas) == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"EAS/SchemaResolver.sol\":707:710 eas */\n dup2\n /* \"EAS/SchemaResolver.sol\":699:725 address(eas) == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"EAS/SchemaResolver.sol\":695:771 if (address(eas) == address(0)) {... */\n tag_9\n jumpi\n /* \"EAS/SchemaResolver.sol\":748:760 InvalidEAS() */\n mload(0x40)\n 0x83780ffe00000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":695:771 if (address(eas) == address(0)) {... */\ntag_9:\n /* \"EAS/SchemaResolver.sol\":788:791 eas */\n dup1\n /* \"EAS/SchemaResolver.sol\":781:791 _eas = eas */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xe0\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n pop\n pop\n /* \"EAS/SchemaResolver.sol\":647:798 constructor(IEAS eas) Semver(1, 3, 0) {... */\n pop\n /* \"ownable-resolver.sol\":400:444 constructor(IEAS eas) SchemaResolver(eas) {} */\n pop\n /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\n jump(tag_11)\n /* \"#utility.yul\":88:205 */\ntag_13:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\ntag_15:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\ntag_16:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_26\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_15\n jump\t// in\ntag_26:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:677 */\ntag_17:\n /* \"#utility.yul\":618:625 */\n 0x00\n /* \"#utility.yul\":647:671 */\n tag_28\n /* \"#utility.yul\":665:670 */\n dup3\n /* \"#utility.yul\":647:671 */\n tag_16\n jump\t// in\ntag_28:\n /* \"#utility.yul\":636:671 */\n swap1\n pop\n /* \"#utility.yul\":568:677 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":683:831 */\ntag_18:\n /* \"#utility.yul\":769:806 */\n tag_30\n /* \"#utility.yul\":800:805 */\n dup2\n /* \"#utility.yul\":769:806 */\n tag_17\n jump\t// in\ntag_30:\n /* \"#utility.yul\":762:767 */\n dup2\n /* \"#utility.yul\":759:807 */\n eq\n /* \"#utility.yul\":749:825 */\n tag_31\n jumpi\n /* \"#utility.yul\":821:822 */\n 0x00\n /* \"#utility.yul\":818:819 */\n dup1\n /* \"#utility.yul\":811:823 */\n revert\n /* \"#utility.yul\":749:825 */\ntag_31:\n /* \"#utility.yul\":683:831 */\n pop\n jump\t// out\n /* \"#utility.yul\":837:1006 */\ntag_19:\n /* \"#utility.yul\":907:912 */\n 0x00\n /* \"#utility.yul\":938:944 */\n dup2\n /* \"#utility.yul\":932:945 */\n mload\n /* \"#utility.yul\":923:945 */\n swap1\n pop\n /* \"#utility.yul\":954:1000 */\n tag_33\n /* \"#utility.yul\":994:999 */\n dup2\n /* \"#utility.yul\":954:1000 */\n tag_18\n jump\t// in\ntag_33:\n /* \"#utility.yul\":837:1006 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1012:1389 */\ntag_3:\n /* \"#utility.yul\":1095:1101 */\n 0x00\n /* \"#utility.yul\":1144:1146 */\n 0x20\n /* \"#utility.yul\":1132:1141 */\n dup3\n /* \"#utility.yul\":1123:1130 */\n dup5\n /* \"#utility.yul\":1119:1142 */\n sub\n /* \"#utility.yul\":1115:1147 */\n slt\n /* \"#utility.yul\":1112:1231 */\n iszero\n tag_35\n jumpi\n /* \"#utility.yul\":1150:1229 */\n tag_36\n tag_13\n jump\t// in\ntag_36:\n /* \"#utility.yul\":1112:1231 */\ntag_35:\n /* \"#utility.yul\":1270:1271 */\n 0x00\n /* \"#utility.yul\":1295:1372 */\n tag_37\n /* \"#utility.yul\":1364:1371 */\n dup5\n /* \"#utility.yul\":1355:1361 */\n dup3\n /* \"#utility.yul\":1344:1353 */\n dup6\n /* \"#utility.yul\":1340:1362 */\n add\n /* \"#utility.yul\":1295:1372 */\n tag_19\n jump\t// in\ntag_37:\n /* \"#utility.yul\":1285:1372 */\n swap2\n pop\n /* \"#utility.yul\":1241:1382 */\n pop\n /* \"#utility.yul\":1012:1389 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\ntag_11:\n mload(0x80)\n mload(0xa0)\n mload(0xc0)\n mload(0xe0)\n codecopy(0x00, dataOffset(sub_0), dataSize(sub_0))\n 0x00\n assignImmutable(\"0xc775df1a7e57e4ddca9708a57c092ca399c892894e875f640af011da3d066949\")\n 0x00\n assignImmutable(\"0xb264290b39caa425e41c2393e10056c6bf6aefcb7750f619dd0d6dd4d035e225\")\n 0x00\n assignImmutable(\"0x4898df15ec6590495dc6c0fedf951ade3e64001d47f9caf44a64e86fc11959df\")\n 0x00\n assignImmutable(\"0x08b2c4590c6811ffb7cb8659cd18fb3368dba395a633f764dbf449be06307fe1\")\n return(0x00, dataSize(sub_0))\nstop\n\nsub_0: assembly {\n /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x54fd4d50\n eq\n tag_3\n jumpi\n dup1\n 0x88e5b2d9\n eq\n tag_4\n jumpi\n dup1\n 0x91db0b7e\n eq\n tag_5\n jumpi\n dup1\n 0xce46e046\n eq\n tag_6\n jumpi\n dup1\n 0xe49617e1\n eq\n tag_7\n jumpi\n dup1\n 0xe60c3505\n eq\n tag_8\n jumpi\n jump(tag_2)\n tag_1:\n jumpi(tag_2, calldatasize)\n /* \"EAS/SchemaResolver.sol\":1140:1151 isPayable() */\n tag_11\n /* \"EAS/SchemaResolver.sol\":1140:1149 isPayable */\n tag_12\n /* \"EAS/SchemaResolver.sol\":1140:1151 isPayable() */\n jump\t// in\n tag_11:\n /* \"EAS/SchemaResolver.sol\":1135:1197 if (!isPayable()) {... */\n tag_13\n jumpi\n /* \"EAS/SchemaResolver.sol\":1174:1186 NotPayable() */\n mload(0x40)\n 0x1574f9f300000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":1135:1197 if (!isPayable()) {... */\n tag_13:\n /* \"ownable-resolver.sol\":344:2411 contract OwnerRecipientResolver is SchemaResolver {... */\n stop\n tag_2:\n 0x00\n dup1\n revert\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_14\n jumpi\n 0x00\n dup1\n revert\n tag_14:\n pop\n tag_15\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":3124:4584 function multiRevoke(... */\n tag_4:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n mload(0x40)\n tag_23\n swap2\n swap1\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":1433:2894 function multiAttest(... */\n tag_5:\n tag_25\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_26\n swap2\n swap1\n tag_21\n jump\t// in\n tag_26:\n tag_27\n jump\t// in\n tag_25:\n mload(0x40)\n tag_28\n swap2\n swap1\n tag_24\n jump\t// in\n tag_28:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":972:1057 function isPayable() public pure virtual returns (bool) {... */\n tag_6:\n callvalue\n dup1\n iszero\n tag_29\n jumpi\n 0x00\n dup1\n revert\n tag_29:\n pop\n tag_30\n tag_12\n jump\t// in\n tag_30:\n mload(0x40)\n tag_31\n swap2\n swap1\n tag_24\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":2936:3082 function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n tag_7:\n tag_32\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_33\n swap2\n swap1\n tag_34\n jump\t// in\n tag_33:\n tag_35\n jump\t// in\n tag_32:\n mload(0x40)\n tag_36\n swap2\n swap1\n tag_24\n jump\t// in\n tag_36:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":1245:1391 function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n tag_8:\n tag_37\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_38\n swap2\n swap1\n tag_34\n jump\t// in\n tag_38:\n tag_39\n jump\t// in\n tag_37:\n mload(0x40)\n tag_40\n swap2\n swap1\n tag_24\n jump\t// in\n tag_40:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"EAS/SchemaResolver.sol\":972:1057 function isPayable() public pure virtual returns (bool) {... */\n tag_12:\n /* \"EAS/SchemaResolver.sol\":1022:1026 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":972:1057 function isPayable() public pure virtual returns (bool) {... */\n swap1\n jump\t// out\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n tag_16:\n /* \"EAS/Semver.sol\":987:1000 string memory */\n 0x60\n /* \"EAS/Semver.sol\":1072:1096 Strings.toString(_major) */\n tag_43\n /* \"EAS/Semver.sol\":1089:1095 _major */\n immutable(\"0x08b2c4590c6811ffb7cb8659cd18fb3368dba395a633f764dbf449be06307fe1\")\n /* \"EAS/Semver.sol\":1072:1088 Strings.toString */\n tag_44\n /* \"EAS/Semver.sol\":1072:1096 Strings.toString(_major) */\n jump\t// in\n tag_43:\n /* \"EAS/Semver.sol\":1103:1127 Strings.toString(_minor) */\n tag_45\n /* \"EAS/Semver.sol\":1120:1126 _minor */\n immutable(\"0x4898df15ec6590495dc6c0fedf951ade3e64001d47f9caf44a64e86fc11959df\")\n /* \"EAS/Semver.sol\":1103:1119 Strings.toString */\n tag_44\n /* \"EAS/Semver.sol\":1103:1127 Strings.toString(_minor) */\n jump\t// in\n tag_45:\n /* \"EAS/Semver.sol\":1134:1158 Strings.toString(_patch) */\n tag_46\n /* \"EAS/Semver.sol\":1151:1157 _patch */\n immutable(\"0xb264290b39caa425e41c2393e10056c6bf6aefcb7750f619dd0d6dd4d035e225\")\n /* \"EAS/Semver.sol\":1134:1150 Strings.toString */\n tag_44\n /* \"EAS/Semver.sol\":1134:1158 Strings.toString(_patch) */\n jump\t// in\n tag_46:\n /* \"EAS/Semver.sol\":1055:1159 abi.encodePacked(Strings.toString(_major), \".\", Strings.toString(_minor), \".\", Strings.toString(_patch)) */\n add(0x20, mload(0x40))\n tag_47\n swap4\n swap3\n swap2\n swap1\n tag_48\n jump\t// in\n tag_47:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"EAS/Semver.sol\":1012:1173 return... */\n swap1\n pop\n /* \"EAS/Semver.sol\":945:1180 function version() external view returns (string memory) {... */\n swap1\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":3124:4584 function multiRevoke(... */\n tag_22:\n /* \"EAS/SchemaResolver.sol\":3265:3269 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n tag_50\n /* \"EAS/SchemaResolver.sol\":901:909 _onlyEAS */\n tag_51\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n jump\t// in\n tag_50:\n /* \"EAS/SchemaResolver.sol\":3281:3295 uint256 length */\n 0x00\n /* \"EAS/SchemaResolver.sol\":3298:3310 attestations */\n dup6\n dup6\n /* \"EAS/SchemaResolver.sol\":3298:3317 attestations.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3281:3317 uint256 length = attestations.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3341:3347 values */\n dup4\n dup4\n /* \"EAS/SchemaResolver.sol\":3341:3354 values.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3331:3337 length */\n dup2\n /* \"EAS/SchemaResolver.sol\":3331:3354 length != values.length */\n eq\n /* \"EAS/SchemaResolver.sol\":3327:3403 if (length != values.length) {... */\n tag_53\n jumpi\n /* \"EAS/SchemaResolver.sol\":3377:3392 InvalidLength() */\n mload(0x40)\n 0x947d5a8400000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":3327:3403 if (length != values.length) {... */\n tag_53:\n /* \"EAS/SchemaResolver.sol\":3810:3832 uint256 remainingValue */\n 0x00\n /* \"EAS/SchemaResolver.sol\":3835:3844 msg.value */\n callvalue\n /* \"EAS/SchemaResolver.sol\":3810:3844 uint256 remainingValue = msg.value */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3860:3869 uint256 i */\n 0x00\n /* \"EAS/SchemaResolver.sol\":3855:4556 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n tag_54:\n /* \"EAS/SchemaResolver.sol\":3879:3885 length */\n dup3\n /* \"EAS/SchemaResolver.sol\":3875:3876 i */\n dup2\n /* \"EAS/SchemaResolver.sol\":3875:3885 i < length */\n lt\n /* \"EAS/SchemaResolver.sol\":3855:4556 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n iszero\n tag_55\n jumpi\n /* \"EAS/SchemaResolver.sol\":4012:4025 uint256 value */\n 0x00\n /* \"EAS/SchemaResolver.sol\":4028:4034 values */\n dup7\n dup7\n /* \"EAS/SchemaResolver.sol\":4035:4036 i */\n dup4\n /* \"EAS/SchemaResolver.sol\":4028:4037 values[i] */\n dup2\n dup2\n lt\n tag_57\n jumpi\n tag_58\n tag_59\n jump\t// in\n tag_58:\n tag_57:\n swap1\n pop\n 0x20\n mul\n add\n calldataload\n /* \"EAS/SchemaResolver.sol\":4012:4037 uint256 value = values[i] */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":4063:4077 remainingValue */\n dup3\n /* \"EAS/SchemaResolver.sol\":4055:4060 value */\n dup2\n /* \"EAS/SchemaResolver.sol\":4055:4077 value > remainingValue */\n gt\n /* \"EAS/SchemaResolver.sol\":4051:4138 if (value > remainingValue) {... */\n iszero\n tag_60\n jumpi\n /* \"EAS/SchemaResolver.sol\":4104:4123 InsufficientValue() */\n mload(0x40)\n 0x1101129400000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":4051:4138 if (value > remainingValue) {... */\n tag_60:\n /* \"EAS/SchemaResolver.sol\":4266:4298 onRevoke(attestations[i], value) */\n tag_61\n /* \"EAS/SchemaResolver.sol\":4275:4287 attestations */\n dup10\n dup10\n /* \"EAS/SchemaResolver.sol\":4288:4289 i */\n dup5\n /* \"EAS/SchemaResolver.sol\":4275:4290 attestations[i] */\n dup2\n dup2\n lt\n tag_62\n jumpi\n tag_63\n tag_59\n jump\t// in\n tag_63:\n tag_62:\n swap1\n pop\n 0x20\n mul\n dup2\n add\n swap1\n tag_64\n swap2\n swap1\n tag_65\n jump\t// in\n tag_64:\n /* \"EAS/SchemaResolver.sol\":4292:4297 value */\n dup3\n /* \"EAS/SchemaResolver.sol\":4266:4274 onRevoke */\n tag_66\n /* \"EAS/SchemaResolver.sol\":4266:4298 onRevoke(attestations[i], value) */\n jump\t// in\n tag_61:\n /* \"EAS/SchemaResolver.sol\":4261:4345 if (!onRevoke(attestations[i], value)) {... */\n tag_67\n jumpi\n /* \"EAS/SchemaResolver.sol\":4325:4330 false */\n 0x00\n /* \"EAS/SchemaResolver.sol\":4318:4330 return false */\n swap5\n pop\n pop\n pop\n pop\n pop\n jump(tag_52)\n /* \"EAS/SchemaResolver.sol\":4261:4345 if (!onRevoke(attestations[i], value)) {... */\n tag_67:\n /* \"EAS/SchemaResolver.sol\":4526:4531 value */\n dup1\n /* \"EAS/SchemaResolver.sol\":4508:4531 remainingValue -= value */\n dup4\n sub\n swap3\n pop\n /* \"EAS/SchemaResolver.sol\":3908:4556 {... */\n pop\n /* \"EAS/SchemaResolver.sol\":3891:3906 uncheckedInc(i) */\n tag_68\n /* \"EAS/SchemaResolver.sol\":3904:3905 i */\n dup2\n /* \"EAS/SchemaResolver.sol\":3891:3903 uncheckedInc */\n tag_69\n /* \"EAS/SchemaResolver.sol\":3891:3906 uncheckedInc(i) */\n jump\t// in\n tag_68:\n /* \"EAS/SchemaResolver.sol\":3887:3906 i = uncheckedInc(i) */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":3855:4556 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n jump(tag_54)\n tag_55:\n pop\n /* \"EAS/SchemaResolver.sol\":4573:4577 true */\n 0x01\n /* \"EAS/SchemaResolver.sol\":4566:4577 return true */\n swap3\n pop\n pop\n pop\n /* \"EAS/SchemaResolver.sol\":922:923 _ */\n tag_52:\n /* \"EAS/SchemaResolver.sol\":3124:4584 function multiRevoke(... */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":1433:2894 function multiAttest(... */\n tag_27:\n /* \"EAS/SchemaResolver.sol\":1574:1578 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n tag_71\n /* \"EAS/SchemaResolver.sol\":901:909 _onlyEAS */\n tag_51\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n jump\t// in\n tag_71:\n /* \"EAS/SchemaResolver.sol\":1590:1604 uint256 length */\n 0x00\n /* \"EAS/SchemaResolver.sol\":1607:1619 attestations */\n dup6\n dup6\n /* \"EAS/SchemaResolver.sol\":1607:1626 attestations.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":1590:1626 uint256 length = attestations.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":1650:1656 values */\n dup4\n dup4\n /* \"EAS/SchemaResolver.sol\":1650:1663 values.length */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":1640:1646 length */\n dup2\n /* \"EAS/SchemaResolver.sol\":1640:1663 length != values.length */\n eq\n /* \"EAS/SchemaResolver.sol\":1636:1712 if (length != values.length) {... */\n tag_73\n jumpi\n /* \"EAS/SchemaResolver.sol\":1686:1701 InvalidLength() */\n mload(0x40)\n 0x947d5a8400000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":1636:1712 if (length != values.length) {... */\n tag_73:\n /* \"EAS/SchemaResolver.sol\":2119:2141 uint256 remainingValue */\n 0x00\n /* \"EAS/SchemaResolver.sol\":2144:2153 msg.value */\n callvalue\n /* \"EAS/SchemaResolver.sol\":2119:2153 uint256 remainingValue = msg.value */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":2169:2178 uint256 i */\n 0x00\n /* \"EAS/SchemaResolver.sol\":2164:2866 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n tag_74:\n /* \"EAS/SchemaResolver.sol\":2188:2194 length */\n dup3\n /* \"EAS/SchemaResolver.sol\":2184:2185 i */\n dup2\n /* \"EAS/SchemaResolver.sol\":2184:2194 i < length */\n lt\n /* \"EAS/SchemaResolver.sol\":2164:2866 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n iszero\n tag_75\n jumpi\n /* \"EAS/SchemaResolver.sol\":2321:2334 uint256 value */\n 0x00\n /* \"EAS/SchemaResolver.sol\":2337:2343 values */\n dup7\n dup7\n /* \"EAS/SchemaResolver.sol\":2344:2345 i */\n dup4\n /* \"EAS/SchemaResolver.sol\":2337:2346 values[i] */\n dup2\n dup2\n lt\n tag_77\n jumpi\n tag_78\n tag_59\n jump\t// in\n tag_78:\n tag_77:\n swap1\n pop\n 0x20\n mul\n add\n calldataload\n /* \"EAS/SchemaResolver.sol\":2321:2346 uint256 value = values[i] */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":2372:2386 remainingValue */\n dup3\n /* \"EAS/SchemaResolver.sol\":2364:2369 value */\n dup2\n /* \"EAS/SchemaResolver.sol\":2364:2386 value > remainingValue */\n gt\n /* \"EAS/SchemaResolver.sol\":2360:2447 if (value > remainingValue) {... */\n iszero\n tag_79\n jumpi\n /* \"EAS/SchemaResolver.sol\":2413:2432 InsufficientValue() */\n mload(0x40)\n 0x1101129400000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":2360:2447 if (value > remainingValue) {... */\n tag_79:\n /* \"EAS/SchemaResolver.sol\":2576:2608 onAttest(attestations[i], value) */\n tag_80\n /* \"EAS/SchemaResolver.sol\":2585:2597 attestations */\n dup10\n dup10\n /* \"EAS/SchemaResolver.sol\":2598:2599 i */\n dup5\n /* \"EAS/SchemaResolver.sol\":2585:2600 attestations[i] */\n dup2\n dup2\n lt\n tag_81\n jumpi\n tag_82\n tag_59\n jump\t// in\n tag_82:\n tag_81:\n swap1\n pop\n 0x20\n mul\n dup2\n add\n swap1\n tag_83\n swap2\n swap1\n tag_65\n jump\t// in\n tag_83:\n /* \"EAS/SchemaResolver.sol\":2602:2607 value */\n dup3\n /* \"EAS/SchemaResolver.sol\":2576:2584 onAttest */\n tag_84\n /* \"EAS/SchemaResolver.sol\":2576:2608 onAttest(attestations[i], value) */\n jump\t// in\n tag_80:\n /* \"EAS/SchemaResolver.sol\":2571:2655 if (!onAttest(attestations[i], value)) {... */\n tag_85\n jumpi\n /* \"EAS/SchemaResolver.sol\":2635:2640 false */\n 0x00\n /* \"EAS/SchemaResolver.sol\":2628:2640 return false */\n swap5\n pop\n pop\n pop\n pop\n pop\n jump(tag_72)\n /* \"EAS/SchemaResolver.sol\":2571:2655 if (!onAttest(attestations[i], value)) {... */\n tag_85:\n /* \"EAS/SchemaResolver.sol\":2836:2841 value */\n dup1\n /* \"EAS/SchemaResolver.sol\":2818:2841 remainingValue -= value */\n dup4\n sub\n swap3\n pop\n /* \"EAS/SchemaResolver.sol\":2217:2866 {... */\n pop\n /* \"EAS/SchemaResolver.sol\":2200:2215 uncheckedInc(i) */\n tag_86\n /* \"EAS/SchemaResolver.sol\":2213:2214 i */\n dup2\n /* \"EAS/SchemaResolver.sol\":2200:2212 uncheckedInc */\n tag_69\n /* \"EAS/SchemaResolver.sol\":2200:2215 uncheckedInc(i) */\n jump\t// in\n tag_86:\n /* \"EAS/SchemaResolver.sol\":2196:2215 i = uncheckedInc(i) */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":2164:2866 for (uint256 i = 0; i < length; i = uncheckedInc(i)) {... */\n jump(tag_74)\n tag_75:\n pop\n /* \"EAS/SchemaResolver.sol\":2883:2887 true */\n 0x01\n /* \"EAS/SchemaResolver.sol\":2876:2887 return true */\n swap3\n pop\n pop\n pop\n /* \"EAS/SchemaResolver.sol\":922:923 _ */\n tag_72:\n /* \"EAS/SchemaResolver.sol\":1433:2894 function multiAttest(... */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":2936:3082 function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n tag_35:\n /* \"EAS/SchemaResolver.sol\":3020:3024 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n tag_88\n /* \"EAS/SchemaResolver.sol\":901:909 _onlyEAS */\n tag_51\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n jump\t// in\n tag_88:\n /* \"EAS/SchemaResolver.sol\":3043:3075 onRevoke(attestation, msg.value) */\n tag_90\n /* \"EAS/SchemaResolver.sol\":3052:3063 attestation */\n dup3\n /* \"EAS/SchemaResolver.sol\":3065:3074 msg.value */\n callvalue\n /* \"EAS/SchemaResolver.sol\":3043:3051 onRevoke */\n tag_66\n /* \"EAS/SchemaResolver.sol\":3043:3075 onRevoke(attestation, msg.value) */\n jump\t// in\n tag_90:\n /* \"EAS/SchemaResolver.sol\":3036:3075 return onRevoke(attestation, msg.value) */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":2936:3082 function revoke(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":1245:1391 function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n tag_39:\n /* \"EAS/SchemaResolver.sol\":1329:1333 bool */\n 0x00\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n tag_92\n /* \"EAS/SchemaResolver.sol\":901:909 _onlyEAS */\n tag_51\n /* \"EAS/SchemaResolver.sol\":901:911 _onlyEAS() */\n jump\t// in\n tag_92:\n /* \"EAS/SchemaResolver.sol\":1352:1384 onAttest(attestation, msg.value) */\n tag_94\n /* \"EAS/SchemaResolver.sol\":1361:1372 attestation */\n dup3\n /* \"EAS/SchemaResolver.sol\":1374:1383 msg.value */\n callvalue\n /* \"EAS/SchemaResolver.sol\":1352:1360 onAttest */\n tag_84\n /* \"EAS/SchemaResolver.sol\":1352:1384 onAttest(attestation, msg.value) */\n jump\t// in\n tag_94:\n /* \"EAS/SchemaResolver.sol\":1345:1384 return onAttest(attestation, msg.value) */\n swap1\n pop\n /* \"EAS/SchemaResolver.sol\":1245:1391 function attest(Attestation calldata attestation) external payable onlyEAS returns (bool) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Strings.sol\":637:1335 function toString(uint256 value) internal pure returns (string memory) {... */\n tag_44:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":693:706 string memory */\n 0x60\n /* \"@openzeppelin/contracts/utils/Strings.sol\":742:756 uint256 length */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":779:780 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:776 Math.log10(value) */\n tag_96\n /* \"@openzeppelin/contracts/utils/Strings.sol\":770:775 value */\n dup5\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:769 Math.log10 */\n tag_97\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:776 Math.log10(value) */\n jump\t// in\n tag_96:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":759:780 Math.log10(value) + 1 */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":742:780 uint256 length = Math.log10(value) + 1 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":794:814 string memory buffer */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":828:834 length */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":817:835 new string(length) */\n 0xffffffffffffffff\n dup2\n gt\n iszero\n tag_98\n jumpi\n tag_99\n tag_100\n jump\t// in\n tag_99:\n tag_98:\n mload(0x40)\n swap1\n dup1\n dup3\n mstore\n dup1\n 0x1f\n add\n not(0x1f)\n and\n 0x20\n add\n dup3\n add\n 0x40\n mstore\n dup1\n iszero\n tag_101\n jumpi\n dup2\n 0x20\n add\n 0x01\n dup3\n mul\n dup1\n calldatasize\n dup4\n calldatacopy\n dup1\n dup3\n add\n swap2\n pop\n pop\n swap1\n pop\n tag_101:\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":794:835 string memory buffer = new string(length) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":849:860 uint256 ptr */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":975:981 length */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":971:973 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/Strings.sol\":967:982 add(32, length) */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":959:965 buffer */\n dup3\n /* \"@openzeppelin/contracts/utils/Strings.sol\":955:983 add(buffer, add(32, length)) */\n add\n /* \"@openzeppelin/contracts/utils/Strings.sol\":948:983 ptr := add(buffer, add(32, length)) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_102:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1017:1021 true */\n 0x01\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n iszero\n tag_103\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1041:1046 ptr-- */\n dup1\n dup1\n 0x01\n swap1\n sub\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1180:1190 HEX_DIGITS */\n 0x3031323334353637383961626364656600000000000000000000000000000000\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1175:1177 10 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1168:1173 value */\n dup7\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1164:1178 mod(value, 10) */\n mod\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1159:1191 byte(mod(value, 10), HEX_DIGITS) */\n byte\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1154:1157 ptr */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1146:1192 mstore8(ptr, byte(mod(value, 10), HEX_DIGITS)) */\n mstore8\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1236:1238 10 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1227:1238 value /= 10 */\n dup6\n dup2\n tag_104\n jumpi\n tag_105\n tag_106\n jump\t// in\n tag_105:\n tag_104:\n div\n swap5\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1269:1270 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1260:1265 value */\n dup6\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1260:1270 value == 0 */\n sub\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_102\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1256:1277 if (value == 0) break */\n jumpi\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1010:1292 while (true) {... */\n tag_103:\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1312:1318 buffer */\n dup2\n /* \"@openzeppelin/contracts/utils/Strings.sol\":1305:1318 return buffer */\n swap4\n pop\n pop\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Strings.sol\":637:1335 function toString(uint256 value) internal pure returns (string memory) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"EAS/SchemaResolver.sol\":6031:6159 function _onlyEAS() private view {... */\n tag_51:\n /* \"EAS/SchemaResolver.sol\":6100:6104 _eas */\n immutable(\"0xc775df1a7e57e4ddca9708a57c092ca399c892894e875f640af011da3d066949\")\n /* \"EAS/SchemaResolver.sol\":6078:6105 msg.sender != address(_eas) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"EAS/SchemaResolver.sol\":6078:6088 msg.sender */\n caller\n /* \"EAS/SchemaResolver.sol\":6078:6105 msg.sender != address(_eas) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"EAS/SchemaResolver.sol\":6074:6153 if (msg.sender != address(_eas)) {... */\n tag_109\n jumpi\n /* \"EAS/SchemaResolver.sol\":6128:6142 AccessDenied() */\n mload(0x40)\n 0x4ca8886700000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"EAS/SchemaResolver.sol\":6074:6153 if (msg.sender != address(_eas)) {... */\n tag_109:\n /* \"EAS/SchemaResolver.sol\":6031:6159 function _onlyEAS() private view {... */\n jump\t// out\n /* \"ownable-resolver.sol\":2268:2409 function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) {... */\n tag_66:\n /* \"ownable-resolver.sol\":2375:2379 bool */\n 0x00\n /* \"ownable-resolver.sol\":2398:2402 true */\n 0x01\n /* \"ownable-resolver.sol\":2391:2402 return true */\n swap1\n pop\n /* \"ownable-resolver.sol\":2268:2409 function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"EAS/Common.sol\":1397:1499 function uncheckedInc(uint256 i) pure returns (uint256 j) {... */\n tag_69:\n /* \"EAS/Common.sol\":1444:1453 uint256 j */\n 0x00\n /* \"EAS/Common.sol\":1489:1490 1 */\n 0x01\n /* \"EAS/Common.sol\":1485:1486 i */\n dup3\n /* \"EAS/Common.sol\":1485:1490 i + 1 */\n add\n /* \"EAS/Common.sol\":1481:1490 j = i + 1 */\n swap1\n pop\n /* \"EAS/Common.sol\":1397:1499 function uncheckedInc(uint256 i) pure returns (uint256 j) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"ownable-resolver.sol\":450:1642 function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) {... */\n tag_84:\n /* \"ownable-resolver.sol\":553:557 bool */\n 0x00\n /* \"ownable-resolver.sol\":697:698 0 */\n dup1\n /* \"ownable-resolver.sol\":664:699 attestation.recipient == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"ownable-resolver.sol\":664:675 attestation */\n dup4\n /* \"ownable-resolver.sol\":664:685 attestation.recipient */\n 0xc0\n add\n 0x20\n dup2\n add\n swap1\n tag_113\n swap2\n swap1\n tag_114\n jump\t// in\n tag_113:\n /* \"ownable-resolver.sol\":664:699 attestation.recipient == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"ownable-resolver.sol\":660:737 if (attestation.recipient == address(0)) {... */\n tag_115\n jumpi\n /* \"ownable-resolver.sol\":722:726 true */\n 0x01\n /* \"ownable-resolver.sol\":715:726 return true */\n swap1\n pop\n jump(tag_112)\n /* \"ownable-resolver.sol\":660:737 if (attestation.recipient == address(0)) {... */\n tag_115:\n /* \"ownable-resolver.sol\":848:849 0 */\n 0x00\n /* \"ownable-resolver.sol\":811:822 attestation */\n dup4\n /* \"ownable-resolver.sol\":811:832 attestation.recipient */\n 0xc0\n add\n 0x20\n dup2\n add\n swap1\n tag_116\n swap2\n swap1\n tag_114\n jump\t// in\n tag_116:\n /* \"ownable-resolver.sol\":811:844 attestation.recipient.code.length */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n extcodesize\n /* \"ownable-resolver.sol\":811:849 attestation.recipient.code.length == 0 */\n sub\n /* \"ownable-resolver.sol\":807:888 if (attestation.recipient.code.length == 0) {... */\n tag_117\n jumpi\n /* \"ownable-resolver.sol\":872:877 false */\n 0x00\n /* \"ownable-resolver.sol\":865:877 return false */\n swap1\n pop\n jump(tag_112)\n /* \"ownable-resolver.sol\":807:888 if (attestation.recipient.code.length == 0) {... */\n tag_117:\n /* \"ownable-resolver.sol\":954:970 address _address */\n 0x00\n /* \"ownable-resolver.sol\":973:1013 extractAddressFromData(attestation.data) */\n tag_118\n /* \"ownable-resolver.sol\":996:1007 attestation */\n dup5\n /* \"ownable-resolver.sol\":996:1012 attestation.data */\n dup1\n 0x0120\n add\n swap1\n tag_119\n swap2\n swap1\n tag_120\n jump\t// in\n tag_119:\n /* \"ownable-resolver.sol\":973:1013 extractAddressFromData(attestation.data) */\n dup1\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap4\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup4\n dup4\n dup1\n dup3\n dup5\n calldatacopy\n 0x00\n dup2\n dup5\n add\n mstore\n not(0x1f)\n 0x1f\n dup3\n add\n and\n swap1\n pop\n dup1\n dup4\n add\n swap3\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n /* \"ownable-resolver.sol\":973:995 extractAddressFromData */\n tag_121\n /* \"ownable-resolver.sol\":973:1013 extractAddressFromData(attestation.data) */\n jump\t// in\n tag_118:\n /* \"ownable-resolver.sol\":954:1013 address _address = extractAddressFromData(attestation.data) */\n swap1\n pop\n /* \"ownable-resolver.sol\":1153:1161 _address */\n dup1\n /* \"ownable-resolver.sol\":1128:1161 attestation.recipient != _address */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"ownable-resolver.sol\":1128:1139 attestation */\n dup5\n /* \"ownable-resolver.sol\":1128:1149 attestation.recipient */\n 0xc0\n add\n 0x20\n dup2\n add\n swap1\n tag_122\n swap2\n swap1\n tag_114\n jump\t// in\n tag_122:\n /* \"ownable-resolver.sol\":1128:1161 attestation.recipient != _address */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"ownable-resolver.sol\":1124:1200 if (attestation.recipient != _address) {... */\n tag_123\n jumpi\n /* \"ownable-resolver.sol\":1184:1189 false */\n 0x00\n /* \"ownable-resolver.sol\":1177:1189 return false */\n swap2\n pop\n pop\n jump(tag_112)\n /* \"ownable-resolver.sol\":1124:1200 if (attestation.recipient != _address) {... */\n tag_123:\n /* \"ownable-resolver.sol\":1266:1289 Ownable ownableContract */\n 0x00\n /* \"ownable-resolver.sol\":1300:1311 attestation */\n dup5\n /* \"ownable-resolver.sol\":1300:1321 attestation.recipient */\n 0xc0\n add\n 0x20\n dup2\n add\n swap1\n tag_124\n swap2\n swap1\n tag_114\n jump\t// in\n tag_124:\n /* \"ownable-resolver.sol\":1266:1322 Ownable ownableContract = Ownable(attestation.recipient) */\n swap1\n pop\n /* \"ownable-resolver.sol\":1337:1352 ownableContract */\n dup1\n /* \"ownable-resolver.sol\":1337:1358 ownableContract.owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8da5cb5b\n /* \"ownable-resolver.sol\":1337:1360 ownableContract.owner() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n swap3\n pop\n pop\n pop\n dup1\n iszero\n tag_125\n jumpi\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_126\n swap2\n swap1\n tag_127\n jump\t// in\n tag_126:\n 0x01\n tag_125:\n /* \"ownable-resolver.sol\":1333:1636 try ownableContract.owner() returns (address owner) {... */\n tag_128\n jumpi\n /* \"ownable-resolver.sol\":1620:1625 false */\n 0x00\n /* \"ownable-resolver.sol\":1613:1625 return false */\n swap3\n pop\n pop\n pop\n jump(tag_112)\n /* \"ownable-resolver.sol\":1333:1636 try ownableContract.owner() returns (address owner) {... */\n tag_128:\n /* \"ownable-resolver.sol\":1494:1499 owner */\n dup1\n /* \"ownable-resolver.sol\":1470:1499 attestation.attester == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"ownable-resolver.sol\":1470:1481 attestation */\n dup7\n /* \"ownable-resolver.sol\":1470:1490 attestation.attester */\n 0xe0\n add\n 0x20\n dup2\n add\n swap1\n tag_133\n swap2\n swap1\n tag_114\n jump\t// in\n tag_133:\n /* \"ownable-resolver.sol\":1470:1499 attestation.attester == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"ownable-resolver.sol\":1463:1499 return attestation.attester == owner */\n swap4\n pop\n pop\n pop\n pop\n /* \"ownable-resolver.sol\":450:1642 function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) {... */\n tag_112:\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12214:13130 function log10(uint256 value) internal pure returns (uint256) {... */\n tag_97:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12267:12274 uint256 */\n 0x00\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12286:12300 uint256 result */\n dup1\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12303:12304 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12286:12304 uint256 result = 0 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12351:12359 10 ** 64 */\n 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12342:12347 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12342:12359 value >= 10 ** 64 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12338:12441 if (value >= 10 ** 64) {... */\n tag_135\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12388:12396 10 ** 64 */\n 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12379:12396 value /= 10 ** 64 */\n dup4\n dup2\n tag_136\n jumpi\n tag_137\n tag_106\n jump\t// in\n tag_137:\n tag_136:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12424:12426 64 */\n 0x40\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12414:12426 result += 64 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12338:12441 if (value >= 10 ** 64) {... */\n tag_135:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12467:12475 10 ** 32 */\n 0x04ee2d6d415b85acef8100000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12458:12463 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12458:12475 value >= 10 ** 32 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12454:12557 if (value >= 10 ** 32) {... */\n tag_138\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12504:12512 10 ** 32 */\n 0x04ee2d6d415b85acef8100000000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12495:12512 value /= 10 ** 32 */\n dup4\n dup2\n tag_139\n jumpi\n tag_140\n tag_106\n jump\t// in\n tag_140:\n tag_139:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12540:12542 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12530:12542 result += 32 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12454:12557 if (value >= 10 ** 32) {... */\n tag_138:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12583:12591 10 ** 16 */\n 0x2386f26fc10000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12574:12579 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12574:12591 value >= 10 ** 16 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12570:12673 if (value >= 10 ** 16) {... */\n tag_141\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12620:12628 10 ** 16 */\n 0x2386f26fc10000\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12611:12628 value /= 10 ** 16 */\n dup4\n dup2\n tag_142\n jumpi\n tag_143\n tag_106\n jump\t// in\n tag_143:\n tag_142:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12656:12658 16 */\n 0x10\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12646:12658 result += 16 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12570:12673 if (value >= 10 ** 16) {... */\n tag_141:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12699:12706 10 ** 8 */\n 0x05f5e100\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12690:12695 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12690:12706 value >= 10 ** 8 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12686:12786 if (value >= 10 ** 8) {... */\n tag_144\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12735:12742 10 ** 8 */\n 0x05f5e100\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12726:12742 value /= 10 ** 8 */\n dup4\n dup2\n tag_145\n jumpi\n tag_146\n tag_106\n jump\t// in\n tag_146:\n tag_145:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12770:12771 8 */\n 0x08\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12760:12771 result += 8 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12686:12786 if (value >= 10 ** 8) {... */\n tag_144:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12812:12819 10 ** 4 */\n 0x2710\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12803:12808 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12803:12819 value >= 10 ** 4 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12799:12899 if (value >= 10 ** 4) {... */\n tag_147\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12848:12855 10 ** 4 */\n 0x2710\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12839:12855 value /= 10 ** 4 */\n dup4\n dup2\n tag_148\n jumpi\n tag_149\n tag_106\n jump\t// in\n tag_149:\n tag_148:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12883:12884 4 */\n 0x04\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12873:12884 result += 4 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12799:12899 if (value >= 10 ** 4) {... */\n tag_147:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12925:12932 10 ** 2 */\n 0x64\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12916:12921 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12916:12932 value >= 10 ** 2 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12912:13012 if (value >= 10 ** 2) {... */\n tag_150\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12961:12968 10 ** 2 */\n 0x64\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12952:12968 value /= 10 ** 2 */\n dup4\n dup2\n tag_151\n jumpi\n tag_152\n tag_106\n jump\t// in\n tag_152:\n tag_151:\n div\n swap3\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12996:12997 2 */\n 0x02\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12986:12997 result += 2 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12912:13012 if (value >= 10 ** 2) {... */\n tag_150:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13038:13045 10 ** 1 */\n 0x0a\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13029:13034 value */\n dup4\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13029:13045 value >= 10 ** 1 */\n lt\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13025:13091 if (value >= 10 ** 1) {... */\n tag_153\n jumpi\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13075:13076 1 */\n 0x01\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13065:13076 result += 1 */\n dup2\n add\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13025:13091 if (value >= 10 ** 1) {... */\n tag_153:\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13117:13123 result */\n dup1\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":13110:13123 return result */\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/utils/math/Math.sol\":12214:13130 function log10(uint256 value) internal pure returns (uint256) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"ownable-resolver.sol\":1648:2261 function extractAddressFromData(bytes memory data) internal pure returns (address) {... */\n tag_121:\n /* \"ownable-resolver.sol\":1722:1729 address */\n 0x00\n /* \"ownable-resolver.sol\":1764:1766 32 */\n 0x20\n /* \"ownable-resolver.sol\":1749:1753 data */\n dup3\n /* \"ownable-resolver.sol\":1749:1760 data.length */\n mload\n /* \"ownable-resolver.sol\":1749:1766 data.length >= 32 */\n lt\n iszero\n /* \"ownable-resolver.sol\":1741:1785 require(data.length >= 32, \"Data too short\") */\n tag_155\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_156\n swap1\n tag_157\n jump\t// in\n tag_156:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_155:\n /* \"ownable-resolver.sol\":1897:1921 address extractedAddress */\n 0x00\n /* \"ownable-resolver.sol\":1990:1992 32 */\n 0x20\n /* \"ownable-resolver.sol\":1984:1988 data */\n dup4\n /* \"ownable-resolver.sol\":1980:1993 add(data, 32) */\n add\n /* \"ownable-resolver.sol\":1974:1994 mload(add(data, 32)) */\n mload\n /* \"ownable-resolver.sol\":1954:1994 extractedAddress := mload(add(data, 32)) */\n swap1\n pop\n /* \"ownable-resolver.sol\":2118:2160 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"ownable-resolver.sol\":2100:2116 extractedAddress */\n dup2\n /* \"ownable-resolver.sol\":2096:2161 and(extractedAddress, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) */\n and\n /* \"ownable-resolver.sol\":2076:2161 extractedAddress := and(extractedAddress, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) */\n swap1\n pop\n /* \"ownable-resolver.sol\":2238:2254 extractedAddress */\n dup1\n /* \"ownable-resolver.sol\":2231:2254 return extractedAddress */\n swap2\n pop\n pop\n /* \"ownable-resolver.sol\":1648:2261 function extractAddressFromData(bytes memory data) internal pure returns (address) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_158:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:281 */\n tag_159:\n /* \"#utility.yul\":196:207 */\n 0x00\n /* \"#utility.yul\":230:236 */\n dup3\n /* \"#utility.yul\":225:228 */\n dup3\n /* \"#utility.yul\":218:237 */\n mstore\n /* \"#utility.yul\":270:274 */\n 0x20\n /* \"#utility.yul\":265:268 */\n dup3\n /* \"#utility.yul\":261:275 */\n add\n /* \"#utility.yul\":246:275 */\n swap1\n pop\n /* \"#utility.yul\":112:281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":287:426 */\n tag_160:\n /* \"#utility.yul\":376:382 */\n dup3\n /* \"#utility.yul\":371:374 */\n dup2\n /* \"#utility.yul\":366:369 */\n dup4\n /* \"#utility.yul\":360:383 */\n mcopy\n /* \"#utility.yul\":417:418 */\n 0x00\n /* \"#utility.yul\":408:414 */\n dup4\n /* \"#utility.yul\":403:406 */\n dup4\n /* \"#utility.yul\":399:415 */\n add\n /* \"#utility.yul\":392:419 */\n mstore\n /* \"#utility.yul\":287:426 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":432:534 */\n tag_161:\n /* \"#utility.yul\":473:479 */\n 0x00\n /* \"#utility.yul\":524:526 */\n 0x1f\n /* \"#utility.yul\":520:527 */\n not\n /* \"#utility.yul\":515:517 */\n 0x1f\n /* \"#utility.yul\":508:513 */\n dup4\n /* \"#utility.yul\":504:518 */\n add\n /* \"#utility.yul\":500:528 */\n and\n /* \"#utility.yul\":490:528 */\n swap1\n pop\n /* \"#utility.yul\":432:534 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":540:917 */\n tag_162:\n /* \"#utility.yul\":628:631 */\n 0x00\n /* \"#utility.yul\":656:695 */\n tag_195\n /* \"#utility.yul\":689:694 */\n dup3\n /* \"#utility.yul\":656:695 */\n tag_158\n jump\t// in\n tag_195:\n /* \"#utility.yul\":711:782 */\n tag_196\n /* \"#utility.yul\":775:781 */\n dup2\n /* \"#utility.yul\":770:773 */\n dup6\n /* \"#utility.yul\":711:782 */\n tag_159\n jump\t// in\n tag_196:\n /* \"#utility.yul\":704:782 */\n swap4\n pop\n /* \"#utility.yul\":791:856 */\n tag_197\n /* \"#utility.yul\":849:855 */\n dup2\n /* \"#utility.yul\":844:847 */\n dup6\n /* \"#utility.yul\":837:841 */\n 0x20\n /* \"#utility.yul\":830:835 */\n dup7\n /* \"#utility.yul\":826:842 */\n add\n /* \"#utility.yul\":791:856 */\n tag_160\n jump\t// in\n tag_197:\n /* \"#utility.yul\":881:910 */\n tag_198\n /* \"#utility.yul\":903:909 */\n dup2\n /* \"#utility.yul\":881:910 */\n tag_161\n jump\t// in\n tag_198:\n /* \"#utility.yul\":876:879 */\n dup5\n /* \"#utility.yul\":872:911 */\n add\n /* \"#utility.yul\":865:911 */\n swap2\n pop\n /* \"#utility.yul\":632:917 */\n pop\n /* \"#utility.yul\":540:917 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":923:1236 */\n tag_18:\n /* \"#utility.yul\":1036:1040 */\n 0x00\n /* \"#utility.yul\":1074:1076 */\n 0x20\n /* \"#utility.yul\":1063:1072 */\n dup3\n /* \"#utility.yul\":1059:1077 */\n add\n /* \"#utility.yul\":1051:1077 */\n swap1\n pop\n /* \"#utility.yul\":1123:1132 */\n dup2\n /* \"#utility.yul\":1117:1121 */\n dup2\n /* \"#utility.yul\":1113:1133 */\n sub\n /* \"#utility.yul\":1109:1110 */\n 0x00\n /* \"#utility.yul\":1098:1107 */\n dup4\n /* \"#utility.yul\":1094:1111 */\n add\n /* \"#utility.yul\":1087:1134 */\n mstore\n /* \"#utility.yul\":1151:1229 */\n tag_200\n /* \"#utility.yul\":1224:1228 */\n dup2\n /* \"#utility.yul\":1215:1221 */\n dup5\n /* \"#utility.yul\":1151:1229 */\n tag_162\n jump\t// in\n tag_200:\n /* \"#utility.yul\":1143:1229 */\n swap1\n pop\n /* \"#utility.yul\":923:1236 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1323:1440 */\n tag_164:\n /* \"#utility.yul\":1432:1433 */\n 0x00\n /* \"#utility.yul\":1429:1430 */\n dup1\n /* \"#utility.yul\":1422:1434 */\n revert\n /* \"#utility.yul\":1446:1563 */\n tag_165:\n /* \"#utility.yul\":1555:1556 */\n 0x00\n /* \"#utility.yul\":1552:1553 */\n dup1\n /* \"#utility.yul\":1545:1557 */\n revert\n /* \"#utility.yul\":1569:1686 */\n tag_166:\n /* \"#utility.yul\":1678:1679 */\n 0x00\n /* \"#utility.yul\":1675:1676 */\n dup1\n /* \"#utility.yul\":1668:1680 */\n revert\n /* \"#utility.yul\":1692:1809 */\n tag_167:\n /* \"#utility.yul\":1801:1802 */\n 0x00\n /* \"#utility.yul\":1798:1799 */\n dup1\n /* \"#utility.yul\":1791:1803 */\n revert\n /* \"#utility.yul\":1815:1932 */\n tag_168:\n /* \"#utility.yul\":1924:1925 */\n 0x00\n /* \"#utility.yul\":1921:1922 */\n dup1\n /* \"#utility.yul\":1914:1926 */\n revert\n /* \"#utility.yul\":1966:2565 */\n tag_169:\n /* \"#utility.yul\":2070:2078 */\n 0x00\n /* \"#utility.yul\":2080:2086 */\n dup1\n /* \"#utility.yul\":2130:2133 */\n dup4\n /* \"#utility.yul\":2123:2127 */\n 0x1f\n /* \"#utility.yul\":2115:2121 */\n dup5\n /* \"#utility.yul\":2111:2128 */\n add\n /* \"#utility.yul\":2107:2134 */\n slt\n /* \"#utility.yul\":2097:2219 */\n tag_208\n jumpi\n /* \"#utility.yul\":2138:2217 */\n tag_209\n tag_166\n jump\t// in\n tag_209:\n /* \"#utility.yul\":2097:2219 */\n tag_208:\n /* \"#utility.yul\":2251:2257 */\n dup3\n /* \"#utility.yul\":2238:2258 */\n calldataload\n /* \"#utility.yul\":2228:2258 */\n swap1\n pop\n /* \"#utility.yul\":2281:2299 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2273:2279 */\n dup2\n /* \"#utility.yul\":2270:2300 */\n gt\n /* \"#utility.yul\":2267:2384 */\n iszero\n tag_210\n jumpi\n /* \"#utility.yul\":2303:2382 */\n tag_211\n tag_167\n jump\t// in\n tag_211:\n /* \"#utility.yul\":2267:2384 */\n tag_210:\n /* \"#utility.yul\":2417:2421 */\n 0x20\n /* \"#utility.yul\":2409:2415 */\n dup4\n /* \"#utility.yul\":2405:2422 */\n add\n /* \"#utility.yul\":2393:2422 */\n swap2\n pop\n /* \"#utility.yul\":2471:2474 */\n dup4\n /* \"#utility.yul\":2463:2467 */\n 0x20\n /* \"#utility.yul\":2455:2461 */\n dup3\n /* \"#utility.yul\":2451:2468 */\n mul\n /* \"#utility.yul\":2441:2449 */\n dup4\n /* \"#utility.yul\":2437:2469 */\n add\n /* \"#utility.yul\":2434:2475 */\n gt\n /* \"#utility.yul\":2431:2559 */\n iszero\n tag_212\n jumpi\n /* \"#utility.yul\":2478:2557 */\n tag_213\n tag_168\n jump\t// in\n tag_213:\n /* \"#utility.yul\":2431:2559 */\n tag_212:\n /* \"#utility.yul\":1966:2565 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2588:3156 */\n tag_170:\n /* \"#utility.yul\":2661:2669 */\n 0x00\n /* \"#utility.yul\":2671:2677 */\n dup1\n /* \"#utility.yul\":2721:2724 */\n dup4\n /* \"#utility.yul\":2714:2718 */\n 0x1f\n /* \"#utility.yul\":2706:2712 */\n dup5\n /* \"#utility.yul\":2702:2719 */\n add\n /* \"#utility.yul\":2698:2725 */\n slt\n /* \"#utility.yul\":2688:2810 */\n tag_215\n jumpi\n /* \"#utility.yul\":2729:2808 */\n tag_216\n tag_166\n jump\t// in\n tag_216:\n /* \"#utility.yul\":2688:2810 */\n tag_215:\n /* \"#utility.yul\":2842:2848 */\n dup3\n /* \"#utility.yul\":2829:2849 */\n calldataload\n /* \"#utility.yul\":2819:2849 */\n swap1\n pop\n /* \"#utility.yul\":2872:2890 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2864:2870 */\n dup2\n /* \"#utility.yul\":2861:2891 */\n gt\n /* \"#utility.yul\":2858:2975 */\n iszero\n tag_217\n jumpi\n /* \"#utility.yul\":2894:2973 */\n tag_218\n tag_167\n jump\t// in\n tag_218:\n /* \"#utility.yul\":2858:2975 */\n tag_217:\n /* \"#utility.yul\":3008:3012 */\n 0x20\n /* \"#utility.yul\":3000:3006 */\n dup4\n /* \"#utility.yul\":2996:3013 */\n add\n /* \"#utility.yul\":2984:3013 */\n swap2\n pop\n /* \"#utility.yul\":3062:3065 */\n dup4\n /* \"#utility.yul\":3054:3058 */\n 0x20\n /* \"#utility.yul\":3046:3052 */\n dup3\n /* \"#utility.yul\":3042:3059 */\n mul\n /* \"#utility.yul\":3032:3040 */\n dup4\n /* \"#utility.yul\":3028:3060 */\n add\n /* \"#utility.yul\":3025:3066 */\n gt\n /* \"#utility.yul\":3022:3150 */\n iszero\n tag_219\n jumpi\n /* \"#utility.yul\":3069:3148 */\n tag_220\n tag_168\n jump\t// in\n tag_220:\n /* \"#utility.yul\":3022:3150 */\n tag_219:\n /* \"#utility.yul\":2588:3156 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3162:4158 */\n tag_21:\n /* \"#utility.yul\":3315:3321 */\n 0x00\n /* \"#utility.yul\":3323:3329 */\n dup1\n /* \"#utility.yul\":3331:3337 */\n 0x00\n /* \"#utility.yul\":3339:3345 */\n dup1\n /* \"#utility.yul\":3388:3390 */\n 0x40\n /* \"#utility.yul\":3376:3385 */\n dup6\n /* \"#utility.yul\":3367:3374 */\n dup8\n /* \"#utility.yul\":3363:3386 */\n sub\n /* \"#utility.yul\":3359:3391 */\n slt\n /* \"#utility.yul\":3356:3475 */\n iszero\n tag_222\n jumpi\n /* \"#utility.yul\":3394:3473 */\n tag_223\n tag_164\n jump\t// in\n tag_223:\n /* \"#utility.yul\":3356:3475 */\n tag_222:\n /* \"#utility.yul\":3542:3543 */\n 0x00\n /* \"#utility.yul\":3531:3540 */\n dup6\n /* \"#utility.yul\":3527:3544 */\n add\n /* \"#utility.yul\":3514:3545 */\n calldataload\n /* \"#utility.yul\":3572:3590 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3564:3570 */\n dup2\n /* \"#utility.yul\":3561:3591 */\n gt\n /* \"#utility.yul\":3558:3675 */\n iszero\n tag_224\n jumpi\n /* \"#utility.yul\":3594:3673 */\n tag_225\n tag_165\n jump\t// in\n tag_225:\n /* \"#utility.yul\":3558:3675 */\n tag_224:\n /* \"#utility.yul\":3707:3818 */\n tag_226\n /* \"#utility.yul\":3810:3817 */\n dup8\n /* \"#utility.yul\":3801:3807 */\n dup3\n /* \"#utility.yul\":3790:3799 */\n dup9\n /* \"#utility.yul\":3786:3808 */\n add\n /* \"#utility.yul\":3707:3818 */\n tag_169\n jump\t// in\n tag_226:\n /* \"#utility.yul\":3689:3818 */\n swap5\n pop\n swap5\n pop\n /* \"#utility.yul\":3485:3828 */\n pop\n /* \"#utility.yul\":3895:3897 */\n 0x20\n /* \"#utility.yul\":3884:3893 */\n dup6\n /* \"#utility.yul\":3880:3898 */\n add\n /* \"#utility.yul\":3867:3899 */\n calldataload\n /* \"#utility.yul\":3926:3944 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3918:3924 */\n dup2\n /* \"#utility.yul\":3915:3945 */\n gt\n /* \"#utility.yul\":3912:4029 */\n iszero\n tag_227\n jumpi\n /* \"#utility.yul\":3948:4027 */\n tag_228\n tag_165\n jump\t// in\n tag_228:\n /* \"#utility.yul\":3912:4029 */\n tag_227:\n /* \"#utility.yul\":4061:4141 */\n tag_229\n /* \"#utility.yul\":4133:4140 */\n dup8\n /* \"#utility.yul\":4124:4130 */\n dup3\n /* \"#utility.yul\":4113:4122 */\n dup9\n /* \"#utility.yul\":4109:4131 */\n add\n /* \"#utility.yul\":4061:4141 */\n tag_170\n jump\t// in\n tag_229:\n /* \"#utility.yul\":4043:4141 */\n swap3\n pop\n swap3\n pop\n /* \"#utility.yul\":3838:4151 */\n pop\n /* \"#utility.yul\":3162:4158 */\n swap3\n swap6\n swap2\n swap5\n pop\n swap3\n pop\n jump\t// out\n /* \"#utility.yul\":4164:4254 */\n tag_171:\n /* \"#utility.yul\":4198:4205 */\n 0x00\n /* \"#utility.yul\":4241:4246 */\n dup2\n /* \"#utility.yul\":4234:4247 */\n iszero\n /* \"#utility.yul\":4227:4248 */\n iszero\n /* \"#utility.yul\":4216:4248 */\n swap1\n pop\n /* \"#utility.yul\":4164:4254 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4260:4369 */\n tag_172:\n /* \"#utility.yul\":4341:4362 */\n tag_232\n /* \"#utility.yul\":4356:4361 */\n dup2\n /* \"#utility.yul\":4341:4362 */\n tag_171\n jump\t// in\n tag_232:\n /* \"#utility.yul\":4336:4339 */\n dup3\n /* \"#utility.yul\":4329:4363 */\n mstore\n /* \"#utility.yul\":4260:4369 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4375:4585 */\n tag_24:\n /* \"#utility.yul\":4462:4466 */\n 0x00\n /* \"#utility.yul\":4500:4502 */\n 0x20\n /* \"#utility.yul\":4489:4498 */\n dup3\n /* \"#utility.yul\":4485:4503 */\n add\n /* \"#utility.yul\":4477:4503 */\n swap1\n pop\n /* \"#utility.yul\":4513:4578 */\n tag_234\n /* \"#utility.yul\":4575:4576 */\n 0x00\n /* \"#utility.yul\":4564:4573 */\n dup4\n /* \"#utility.yul\":4560:4577 */\n add\n /* \"#utility.yul\":4551:4557 */\n dup5\n /* \"#utility.yul\":4513:4578 */\n tag_172\n jump\t// in\n tag_234:\n /* \"#utility.yul\":4375:4585 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4591:4708 */\n tag_173:\n /* \"#utility.yul\":4700:4701 */\n 0x00\n /* \"#utility.yul\":4697:4698 */\n dup1\n /* \"#utility.yul\":4690:4702 */\n revert\n /* \"#utility.yul\":4740:4976 */\n tag_174:\n /* \"#utility.yul\":4817:4822 */\n 0x00\n /* \"#utility.yul\":4858:4861 */\n 0x0140\n /* \"#utility.yul\":4849:4855 */\n dup3\n /* \"#utility.yul\":4844:4847 */\n dup5\n /* \"#utility.yul\":4840:4856 */\n sub\n /* \"#utility.yul\":4836:4862 */\n slt\n /* \"#utility.yul\":4833:4946 */\n iszero\n tag_237\n jumpi\n /* \"#utility.yul\":4865:4944 */\n tag_238\n tag_173\n jump\t// in\n tag_238:\n /* \"#utility.yul\":4833:4946 */\n tag_237:\n /* \"#utility.yul\":4964:4970 */\n dup2\n /* \"#utility.yul\":4955:4970 */\n swap1\n pop\n /* \"#utility.yul\":4740:4976 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4982:5533 */\n tag_34:\n /* \"#utility.yul\":5072:5078 */\n 0x00\n /* \"#utility.yul\":5121:5123 */\n 0x20\n /* \"#utility.yul\":5109:5118 */\n dup3\n /* \"#utility.yul\":5100:5107 */\n dup5\n /* \"#utility.yul\":5096:5119 */\n sub\n /* \"#utility.yul\":5092:5124 */\n slt\n /* \"#utility.yul\":5089:5208 */\n iszero\n tag_240\n jumpi\n /* \"#utility.yul\":5127:5206 */\n tag_241\n tag_164\n jump\t// in\n tag_241:\n /* \"#utility.yul\":5089:5208 */\n tag_240:\n /* \"#utility.yul\":5275:5276 */\n 0x00\n /* \"#utility.yul\":5264:5273 */\n dup3\n /* \"#utility.yul\":5260:5277 */\n add\n /* \"#utility.yul\":5247:5278 */\n calldataload\n /* \"#utility.yul\":5305:5323 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5297:5303 */\n dup2\n /* \"#utility.yul\":5294:5324 */\n gt\n /* \"#utility.yul\":5291:5408 */\n iszero\n tag_242\n jumpi\n /* \"#utility.yul\":5327:5406 */\n tag_243\n tag_165\n jump\t// in\n tag_243:\n /* \"#utility.yul\":5291:5408 */\n tag_242:\n /* \"#utility.yul\":5432:5516 */\n tag_244\n /* \"#utility.yul\":5508:5515 */\n dup5\n /* \"#utility.yul\":5499:5505 */\n dup3\n /* \"#utility.yul\":5488:5497 */\n dup6\n /* \"#utility.yul\":5484:5506 */\n add\n /* \"#utility.yul\":5432:5516 */\n tag_174\n jump\t// in\n tag_244:\n /* \"#utility.yul\":5422:5516 */\n swap2\n pop\n /* \"#utility.yul\":5218:5526 */\n pop\n /* \"#utility.yul\":4982:5533 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5539:5687 */\n tag_175:\n /* \"#utility.yul\":5641:5652 */\n 0x00\n /* \"#utility.yul\":5678:5681 */\n dup2\n /* \"#utility.yul\":5663:5681 */\n swap1\n pop\n /* \"#utility.yul\":5539:5687 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5693:6083 */\n tag_176:\n /* \"#utility.yul\":5799:5802 */\n 0x00\n /* \"#utility.yul\":5827:5866 */\n tag_247\n /* \"#utility.yul\":5860:5865 */\n dup3\n /* \"#utility.yul\":5827:5866 */\n tag_158\n jump\t// in\n tag_247:\n /* \"#utility.yul\":5882:5971 */\n tag_248\n /* \"#utility.yul\":5964:5970 */\n dup2\n /* \"#utility.yul\":5959:5962 */\n dup6\n /* \"#utility.yul\":5882:5971 */\n tag_175\n jump\t// in\n tag_248:\n /* \"#utility.yul\":5875:5971 */\n swap4\n pop\n /* \"#utility.yul\":5980:6045 */\n tag_249\n /* \"#utility.yul\":6038:6044 */\n dup2\n /* \"#utility.yul\":6033:6036 */\n dup6\n /* \"#utility.yul\":6026:6030 */\n 0x20\n /* \"#utility.yul\":6019:6024 */\n dup7\n /* \"#utility.yul\":6015:6031 */\n add\n /* \"#utility.yul\":5980:6045 */\n tag_160\n jump\t// in\n tag_249:\n /* \"#utility.yul\":6070:6076 */\n dup1\n /* \"#utility.yul\":6065:6068 */\n dup5\n /* \"#utility.yul\":6061:6077 */\n add\n /* \"#utility.yul\":6054:6077 */\n swap2\n pop\n /* \"#utility.yul\":5803:6083 */\n pop\n /* \"#utility.yul\":5693:6083 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6089:6240 */\n tag_177:\n /* \"#utility.yul\":6229:6232 */\n 0x2e00000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6225:6226 */\n 0x00\n /* \"#utility.yul\":6217:6223 */\n dup3\n /* \"#utility.yul\":6213:6227 */\n add\n /* \"#utility.yul\":6206:6233 */\n mstore\n /* \"#utility.yul\":6089:6240 */\n pop\n jump\t// out\n /* \"#utility.yul\":6246:6646 */\n tag_178:\n /* \"#utility.yul\":6406:6409 */\n 0x00\n /* \"#utility.yul\":6427:6511 */\n tag_252\n /* \"#utility.yul\":6509:6510 */\n 0x01\n /* \"#utility.yul\":6504:6507 */\n dup4\n /* \"#utility.yul\":6427:6511 */\n tag_175\n jump\t// in\n tag_252:\n /* \"#utility.yul\":6420:6511 */\n swap2\n pop\n /* \"#utility.yul\":6520:6613 */\n tag_253\n /* \"#utility.yul\":6609:6612 */\n dup3\n /* \"#utility.yul\":6520:6613 */\n tag_177\n jump\t// in\n tag_253:\n /* \"#utility.yul\":6638:6639 */\n 0x01\n /* \"#utility.yul\":6633:6636 */\n dup3\n /* \"#utility.yul\":6629:6640 */\n add\n /* \"#utility.yul\":6622:6640 */\n swap1\n pop\n /* \"#utility.yul\":6246:6646 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6652:7779 */\n tag_48:\n /* \"#utility.yul\":7082:7085 */\n 0x00\n /* \"#utility.yul\":7104:7199 */\n tag_255\n /* \"#utility.yul\":7195:7198 */\n dup3\n /* \"#utility.yul\":7186:7192 */\n dup7\n /* \"#utility.yul\":7104:7199 */\n tag_176\n jump\t// in\n tag_255:\n /* \"#utility.yul\":7097:7199 */\n swap2\n pop\n /* \"#utility.yul\":7216:7364 */\n tag_256\n /* \"#utility.yul\":7360:7363 */\n dup3\n /* \"#utility.yul\":7216:7364 */\n tag_178\n jump\t// in\n tag_256:\n /* \"#utility.yul\":7209:7364 */\n swap2\n pop\n /* \"#utility.yul\":7381:7476 */\n tag_257\n /* \"#utility.yul\":7472:7475 */\n dup3\n /* \"#utility.yul\":7463:7469 */\n dup6\n /* \"#utility.yul\":7381:7476 */\n tag_176\n jump\t// in\n tag_257:\n /* \"#utility.yul\":7374:7476 */\n swap2\n pop\n /* \"#utility.yul\":7493:7641 */\n tag_258\n /* \"#utility.yul\":7637:7640 */\n dup3\n /* \"#utility.yul\":7493:7641 */\n tag_178\n jump\t// in\n tag_258:\n /* \"#utility.yul\":7486:7641 */\n swap2\n pop\n /* \"#utility.yul\":7658:7753 */\n tag_259\n /* \"#utility.yul\":7749:7752 */\n dup3\n /* \"#utility.yul\":7740:7746 */\n dup5\n /* \"#utility.yul\":7658:7753 */\n tag_176\n jump\t// in\n tag_259:\n /* \"#utility.yul\":7651:7753 */\n swap2\n pop\n /* \"#utility.yul\":7770:7773 */\n dup2\n /* \"#utility.yul\":7763:7773 */\n swap1\n pop\n /* \"#utility.yul\":6652:7779 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7785:7965 */\n tag_59:\n /* \"#utility.yul\":7833:7910 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":7830:7831 */\n 0x00\n /* \"#utility.yul\":7823:7911 */\n mstore\n /* \"#utility.yul\":7930:7934 */\n 0x32\n /* \"#utility.yul\":7927:7928 */\n 0x04\n /* \"#utility.yul\":7920:7935 */\n mstore\n /* \"#utility.yul\":7954:7958 */\n 0x24\n /* \"#utility.yul\":7951:7952 */\n 0x00\n /* \"#utility.yul\":7944:7959 */\n revert\n /* \"#utility.yul\":7971:8088 */\n tag_179:\n /* \"#utility.yul\":8080:8081 */\n 0x00\n /* \"#utility.yul\":8077:8078 */\n dup1\n /* \"#utility.yul\":8070:8082 */\n revert\n /* \"#utility.yul\":8094:8211 */\n tag_180:\n /* \"#utility.yul\":8203:8204 */\n 0x00\n /* \"#utility.yul\":8200:8201 */\n dup1\n /* \"#utility.yul\":8193:8205 */\n revert\n /* \"#utility.yul\":8217:8334 */\n tag_181:\n /* \"#utility.yul\":8326:8327 */\n 0x00\n /* \"#utility.yul\":8323:8324 */\n dup1\n /* \"#utility.yul\":8316:8328 */\n revert\n /* \"#utility.yul\":8340:8739 */\n tag_65:\n /* \"#utility.yul\":8437:8441 */\n 0x00\n /* \"#utility.yul\":8491:8502 */\n dup3\n /* \"#utility.yul\":8478:8503 */\n calldataload\n /* \"#utility.yul\":8593:8594 */\n 0x01\n /* \"#utility.yul\":8585:8591 */\n 0x0140\n /* \"#utility.yul\":8581:8595 */\n sub\n /* \"#utility.yul\":8570:8578 */\n dup4\n /* \"#utility.yul\":8554:8568 */\n calldatasize\n /* \"#utility.yul\":8550:8579 */\n sub\n /* \"#utility.yul\":8546:8596 */\n sub\n /* \"#utility.yul\":8526:8544 */\n dup2\n /* \"#utility.yul\":8522:8597 */\n slt\n /* \"#utility.yul\":8512:8682 */\n tag_265\n jumpi\n /* \"#utility.yul\":8601:8680 */\n tag_266\n tag_179\n jump\t// in\n tag_266:\n /* \"#utility.yul\":8512:8682 */\n tag_265:\n /* \"#utility.yul\":8713:8731 */\n dup1\n /* \"#utility.yul\":8703:8711 */\n dup4\n /* \"#utility.yul\":8699:8732 */\n add\n /* \"#utility.yul\":8691:8732 */\n swap2\n pop\n /* \"#utility.yul\":8442:8739 */\n pop\n /* \"#utility.yul\":8340:8739 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8745:8925 */\n tag_100:\n /* \"#utility.yul\":8793:8870 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":8790:8791 */\n 0x00\n /* \"#utility.yul\":8783:8871 */\n mstore\n /* \"#utility.yul\":8890:8894 */\n 0x41\n /* \"#utility.yul\":8887:8888 */\n 0x04\n /* \"#utility.yul\":8880:8895 */\n mstore\n /* \"#utility.yul\":8914:8918 */\n 0x24\n /* \"#utility.yul\":8911:8912 */\n 0x00\n /* \"#utility.yul\":8904:8919 */\n revert\n /* \"#utility.yul\":8931:9111 */\n tag_106:\n /* \"#utility.yul\":8979:9056 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":8976:8977 */\n 0x00\n /* \"#utility.yul\":8969:9057 */\n mstore\n /* \"#utility.yul\":9076:9080 */\n 0x12\n /* \"#utility.yul\":9073:9074 */\n 0x04\n /* \"#utility.yul\":9066:9081 */\n mstore\n /* \"#utility.yul\":9100:9104 */\n 0x24\n /* \"#utility.yul\":9097:9098 */\n 0x00\n /* \"#utility.yul\":9090:9105 */\n revert\n /* \"#utility.yul\":9117:9243 */\n tag_182:\n /* \"#utility.yul\":9154:9161 */\n 0x00\n /* \"#utility.yul\":9194:9236 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":9187:9192 */\n dup3\n /* \"#utility.yul\":9183:9237 */\n and\n /* \"#utility.yul\":9172:9237 */\n swap1\n pop\n /* \"#utility.yul\":9117:9243 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9249:9345 */\n tag_183:\n /* \"#utility.yul\":9286:9293 */\n 0x00\n /* \"#utility.yul\":9315:9339 */\n tag_271\n /* \"#utility.yul\":9333:9338 */\n dup3\n /* \"#utility.yul\":9315:9339 */\n tag_182\n jump\t// in\n tag_271:\n /* \"#utility.yul\":9304:9339 */\n swap1\n pop\n /* \"#utility.yul\":9249:9345 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":9351:9473 */\n tag_184:\n /* \"#utility.yul\":9424:9448 */\n tag_273\n /* \"#utility.yul\":9442:9447 */\n dup2\n /* \"#utility.yul\":9424:9448 */\n tag_183\n jump\t// in\n tag_273:\n /* \"#utility.yul\":9417:9422 */\n dup2\n /* \"#utility.yul\":9414:9449 */\n eq\n /* \"#utility.yul\":9404:9467 */\n tag_274\n jumpi\n /* \"#utility.yul\":9463:9464 */\n 0x00\n /* \"#utility.yul\":9460:9461 */\n dup1\n /* \"#utility.yul\":9453:9465 */\n revert\n /* \"#utility.yul\":9404:9467 */\n tag_274:\n /* \"#utility.yul\":9351:9473 */\n pop\n jump\t// out\n /* \"#utility.yul\":9479:9618 */\n tag_185:\n /* \"#utility.yul\":9525:9530 */\n 0x00\n /* \"#utility.yul\":9563:9569 */\n dup2\n /* \"#utility.yul\":9550:9570 */\n calldataload\n /* \"#utility.yul\":9541:9570 */\n swap1\n pop\n /* \"#utility.yul\":9579:9612 */\n tag_276\n /* \"#utility.yul\":9606:9611 */\n dup2\n /* \"#utility.yul\":9579:9612 */\n tag_184\n jump\t// in\n tag_276:\n /* \"#utility.yul\":9479:9618 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9624:9953 */\n tag_114:\n /* \"#utility.yul\":9683:9689 */\n 0x00\n /* \"#utility.yul\":9732:9734 */\n 0x20\n /* \"#utility.yul\":9720:9729 */\n dup3\n /* \"#utility.yul\":9711:9718 */\n dup5\n /* \"#utility.yul\":9707:9730 */\n sub\n /* \"#utility.yul\":9703:9735 */\n slt\n /* \"#utility.yul\":9700:9819 */\n iszero\n tag_278\n jumpi\n /* \"#utility.yul\":9738:9817 */\n tag_279\n tag_164\n jump\t// in\n tag_279:\n /* \"#utility.yul\":9700:9819 */\n tag_278:\n /* \"#utility.yul\":9858:9859 */\n 0x00\n /* \"#utility.yul\":9883:9936 */\n tag_280\n /* \"#utility.yul\":9928:9935 */\n dup5\n /* \"#utility.yul\":9919:9925 */\n dup3\n /* \"#utility.yul\":9908:9917 */\n dup6\n /* \"#utility.yul\":9904:9926 */\n add\n /* \"#utility.yul\":9883:9936 */\n tag_185\n jump\t// in\n tag_280:\n /* \"#utility.yul\":9873:9936 */\n swap2\n pop\n /* \"#utility.yul\":9829:9946 */\n pop\n /* \"#utility.yul\":9624:9953 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9959:10683 */\n tag_120:\n /* \"#utility.yul\":10036:10040 */\n 0x00\n /* \"#utility.yul\":10042:10048 */\n dup1\n /* \"#utility.yul\":10098:10109 */\n dup4\n /* \"#utility.yul\":10085:10110 */\n calldataload\n /* \"#utility.yul\":10198:10199 */\n 0x01\n /* \"#utility.yul\":10192:10196 */\n 0x20\n /* \"#utility.yul\":10188:10200 */\n sub\n /* \"#utility.yul\":10177:10185 */\n dup5\n /* \"#utility.yul\":10161:10175 */\n calldatasize\n /* \"#utility.yul\":10157:10186 */\n sub\n /* \"#utility.yul\":10153:10201 */\n sub\n /* \"#utility.yul\":10133:10151 */\n dup2\n /* \"#utility.yul\":10129:10202 */\n slt\n /* \"#utility.yul\":10119:10287 */\n tag_282\n jumpi\n /* \"#utility.yul\":10206:10285 */\n tag_283\n tag_179\n jump\t// in\n tag_283:\n /* \"#utility.yul\":10119:10287 */\n tag_282:\n /* \"#utility.yul\":10318:10336 */\n dup1\n /* \"#utility.yul\":10308:10316 */\n dup5\n /* \"#utility.yul\":10304:10337 */\n add\n /* \"#utility.yul\":10296:10337 */\n swap3\n pop\n /* \"#utility.yul\":10370:10374 */\n dup3\n /* \"#utility.yul\":10357:10375 */\n calldataload\n /* \"#utility.yul\":10347:10375 */\n swap2\n pop\n /* \"#utility.yul\":10398:10416 */\n 0xffffffffffffffff\n /* \"#utility.yul\":10390:10396 */\n dup3\n /* \"#utility.yul\":10387:10417 */\n gt\n /* \"#utility.yul\":10384:10501 */\n iszero\n tag_284\n jumpi\n /* \"#utility.yul\":10420:10499 */\n tag_285\n tag_180\n jump\t// in\n tag_285:\n /* \"#utility.yul\":10384:10501 */\n tag_284:\n /* \"#utility.yul\":10528:10530 */\n 0x20\n /* \"#utility.yul\":10522:10526 */\n dup4\n /* \"#utility.yul\":10518:10531 */\n add\n /* \"#utility.yul\":10510:10531 */\n swap3\n pop\n /* \"#utility.yul\":10585:10589 */\n 0x01\n /* \"#utility.yul\":10577:10583 */\n dup3\n /* \"#utility.yul\":10573:10590 */\n mul\n /* \"#utility.yul\":10557:10571 */\n calldatasize\n /* \"#utility.yul\":10553:10591 */\n sub\n /* \"#utility.yul\":10547:10551 */\n dup4\n /* \"#utility.yul\":10543:10592 */\n sgt\n /* \"#utility.yul\":10540:10676 */\n iszero\n tag_286\n jumpi\n /* \"#utility.yul\":10595:10674 */\n tag_287\n tag_181\n jump\t// in\n tag_287:\n /* \"#utility.yul\":10540:10676 */\n tag_286:\n /* \"#utility.yul\":10049:10683 */\n pop\n /* \"#utility.yul\":9959:10683 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":10689:10832 */\n tag_186:\n /* \"#utility.yul\":10746:10751 */\n 0x00\n /* \"#utility.yul\":10777:10783 */\n dup2\n /* \"#utility.yul\":10771:10784 */\n mload\n /* \"#utility.yul\":10762:10784 */\n swap1\n pop\n /* \"#utility.yul\":10793:10826 */\n tag_289\n /* \"#utility.yul\":10820:10825 */\n dup2\n /* \"#utility.yul\":10793:10826 */\n tag_184\n jump\t// in\n tag_289:\n /* \"#utility.yul\":10689:10832 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":10838:11189 */\n tag_127:\n /* \"#utility.yul\":10908:10914 */\n 0x00\n /* \"#utility.yul\":10957:10959 */\n 0x20\n /* \"#utility.yul\":10945:10954 */\n dup3\n /* \"#utility.yul\":10936:10943 */\n dup5\n /* \"#utility.yul\":10932:10955 */\n sub\n /* \"#utility.yul\":10928:10960 */\n slt\n /* \"#utility.yul\":10925:11044 */\n iszero\n tag_291\n jumpi\n /* \"#utility.yul\":10963:11042 */\n tag_292\n tag_164\n jump\t// in\n tag_292:\n /* \"#utility.yul\":10925:11044 */\n tag_291:\n /* \"#utility.yul\":11083:11084 */\n 0x00\n /* \"#utility.yul\":11108:11172 */\n tag_293\n /* \"#utility.yul\":11164:11171 */\n dup5\n /* \"#utility.yul\":11155:11161 */\n dup3\n /* \"#utility.yul\":11144:11153 */\n dup6\n /* \"#utility.yul\":11140:11162 */\n add\n /* \"#utility.yul\":11108:11172 */\n tag_186\n jump\t// in\n tag_293:\n /* \"#utility.yul\":11098:11172 */\n swap2\n pop\n /* \"#utility.yul\":11054:11182 */\n pop\n /* \"#utility.yul\":10838:11189 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":11195:11359 */\n tag_187:\n /* \"#utility.yul\":11335:11351 */\n 0x4461746120746f6f2073686f7274000000000000000000000000000000000000\n /* \"#utility.yul\":11331:11332 */\n 0x00\n /* \"#utility.yul\":11323:11329 */\n dup3\n /* \"#utility.yul\":11319:11333 */\n add\n /* \"#utility.yul\":11312:11352 */\n mstore\n /* \"#utility.yul\":11195:11359 */\n pop\n jump\t// out\n /* \"#utility.yul\":11365:11731 */\n tag_188:\n /* \"#utility.yul\":11507:11510 */\n 0x00\n /* \"#utility.yul\":11528:11595 */\n tag_296\n /* \"#utility.yul\":11592:11594 */\n 0x0e\n /* \"#utility.yul\":11587:11590 */\n dup4\n /* \"#utility.yul\":11528:11595 */\n tag_159\n jump\t// in\n tag_296:\n /* \"#utility.yul\":11521:11595 */\n swap2\n pop\n /* \"#utility.yul\":11604:11697 */\n tag_297\n /* \"#utility.yul\":11693:11696 */\n dup3\n /* \"#utility.yul\":11604:11697 */\n tag_187\n jump\t// in\n tag_297:\n /* \"#utility.yul\":11722:11724 */\n 0x20\n /* \"#utility.yul\":11717:11720 */\n dup3\n /* \"#utility.yul\":11713:11725 */\n add\n /* \"#utility.yul\":11706:11725 */\n swap1\n pop\n /* \"#utility.yul\":11365:11731 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11737:12156 */\n tag_157:\n /* \"#utility.yul\":11903:11907 */\n 0x00\n /* \"#utility.yul\":11941:11943 */\n 0x20\n /* \"#utility.yul\":11930:11939 */\n dup3\n /* \"#utility.yul\":11926:11944 */\n add\n /* \"#utility.yul\":11918:11944 */\n swap1\n pop\n /* \"#utility.yul\":11990:11999 */\n dup2\n /* \"#utility.yul\":11984:11988 */\n dup2\n /* \"#utility.yul\":11980:12000 */\n sub\n /* \"#utility.yul\":11976:11977 */\n 0x00\n /* \"#utility.yul\":11965:11974 */\n dup4\n /* \"#utility.yul\":11961:11978 */\n add\n /* \"#utility.yul\":11954:12001 */\n mstore\n /* \"#utility.yul\":12018:12149 */\n tag_299\n /* \"#utility.yul\":12144:12148 */\n dup2\n /* \"#utility.yul\":12018:12149 */\n tag_188\n jump\t// in\n tag_299:\n /* \"#utility.yul\":12010:12149 */\n swap1\n pop\n /* \"#utility.yul\":11737:12156 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033\n}\n", - "bytecode": { - "functionDebugData": { - "@_2144": { - "entryPoint": null, - "id": 2144, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_2452": { - "entryPoint": null, - "id": 2452, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_2502": { - "entryPoint": null, - "id": 2502, - "parameterSlots": 1, - "returnSlots": 0 - }, - "abi_decode_t_contract$_IEAS_$1964_fromMemory": { - "entryPoint": 334, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_contract$_IEAS_$1964_fromMemory": { - "entryPoint": 354, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "allocate_unbounded": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 1 - }, - "cleanup_t_address": { - "entryPoint": 278, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "cleanup_t_contract$_IEAS_$1964": { - "entryPoint": 295, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "cleanup_t_uint160": { - "entryPoint": 247, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 243, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_t_contract$_IEAS_$1964": { - "entryPoint": 312, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nativeSrc": "0:1392:13", - "nodeType": "YulBlock", - "src": "0:1392:13", - "statements": [ - { - "body": { - "nativeSrc": "47:35:13", - "nodeType": "YulBlock", - "src": "47:35:13", - "statements": [ - { - "nativeSrc": "57:19:13", - "nodeType": "YulAssignment", - "src": "57:19:13", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "73:2:13", - "nodeType": "YulLiteral", - "src": "73:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "67:5:13", - "nodeType": "YulIdentifier", - "src": "67:5:13" - }, - "nativeSrc": "67:9:13", - "nodeType": "YulFunctionCall", - "src": "67:9:13" - }, - "variableNames": [ - { - "name": "memPtr", - "nativeSrc": "57:6:13", - "nodeType": "YulIdentifier", - "src": "57:6:13" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nativeSrc": "7:75:13", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nativeSrc": "40:6:13", - "nodeType": "YulTypedName", - "src": "40:6:13", - "type": "" - } - ], - "src": "7:75:13" - }, - { - "body": { - "nativeSrc": "177:28:13", - "nodeType": "YulBlock", - "src": "177:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "194:1:13", - "nodeType": "YulLiteral", - "src": "194:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "197:1:13", - "nodeType": "YulLiteral", - "src": "197:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "187:6:13", - "nodeType": "YulIdentifier", - "src": "187:6:13" - }, - "nativeSrc": "187:12:13", - "nodeType": "YulFunctionCall", - "src": "187:12:13" - }, - "nativeSrc": "187:12:13", - "nodeType": "YulExpressionStatement", - "src": "187:12:13" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "88:117:13", - "nodeType": "YulFunctionDefinition", - "src": "88:117:13" - }, - { - "body": { - "nativeSrc": "300:28:13", - "nodeType": "YulBlock", - "src": "300:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "317:1:13", - "nodeType": "YulLiteral", - "src": "317:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "320:1:13", - "nodeType": "YulLiteral", - "src": "320:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "310:6:13", - "nodeType": "YulIdentifier", - "src": "310:6:13" - }, - "nativeSrc": "310:12:13", - "nodeType": "YulFunctionCall", - "src": "310:12:13" - }, - "nativeSrc": "310:12:13", - "nodeType": "YulExpressionStatement", - "src": "310:12:13" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "211:117:13", - "nodeType": "YulFunctionDefinition", - "src": "211:117:13" - }, - { - "body": { - "nativeSrc": "379:81:13", - "nodeType": "YulBlock", - "src": "379:81:13", - "statements": [ - { - "nativeSrc": "389:65:13", - "nodeType": "YulAssignment", - "src": "389:65:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "404:5:13", - "nodeType": "YulIdentifier", - "src": "404:5:13" - }, - { - "kind": "number", - "nativeSrc": "411:42:13", - "nodeType": "YulLiteral", - "src": "411:42:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "400:3:13", - "nodeType": "YulIdentifier", - "src": "400:3:13" - }, - "nativeSrc": "400:54:13", - "nodeType": "YulFunctionCall", - "src": "400:54:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "389:7:13", - "nodeType": "YulIdentifier", - "src": "389:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nativeSrc": "334:126:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "361:5:13", - "nodeType": "YulTypedName", - "src": "361:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "371:7:13", - "nodeType": "YulTypedName", - "src": "371:7:13", - "type": "" - } - ], - "src": "334:126:13" - }, - { - "body": { - "nativeSrc": "511:51:13", - "nodeType": "YulBlock", - "src": "511:51:13", - "statements": [ - { - "nativeSrc": "521:35:13", - "nodeType": "YulAssignment", - "src": "521:35:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "550:5:13", - "nodeType": "YulIdentifier", - "src": "550:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nativeSrc": "532:17:13", - "nodeType": "YulIdentifier", - "src": "532:17:13" - }, - "nativeSrc": "532:24:13", - "nodeType": "YulFunctionCall", - "src": "532:24:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "521:7:13", - "nodeType": "YulIdentifier", - "src": "521:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_address", - "nativeSrc": "466:96:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "493:5:13", - "nodeType": "YulTypedName", - "src": "493:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "503:7:13", - "nodeType": "YulTypedName", - "src": "503:7:13", - "type": "" - } - ], - "src": "466:96:13" - }, - { - "body": { - "nativeSrc": "626:51:13", - "nodeType": "YulBlock", - "src": "626:51:13", - "statements": [ - { - "nativeSrc": "636:35:13", - "nodeType": "YulAssignment", - "src": "636:35:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "665:5:13", - "nodeType": "YulIdentifier", - "src": "665:5:13" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nativeSrc": "647:17:13", - "nodeType": "YulIdentifier", - "src": "647:17:13" - }, - "nativeSrc": "647:24:13", - "nodeType": "YulFunctionCall", - "src": "647:24:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "636:7:13", - "nodeType": "YulIdentifier", - "src": "636:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_contract$_IEAS_$1964", - "nativeSrc": "568:109:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "608:5:13", - "nodeType": "YulTypedName", - "src": "608:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "618:7:13", - "nodeType": "YulTypedName", - "src": "618:7:13", - "type": "" - } - ], - "src": "568:109:13" - }, - { - "body": { - "nativeSrc": "739:92:13", - "nodeType": "YulBlock", - "src": "739:92:13", - "statements": [ - { - "body": { - "nativeSrc": "809:16:13", - "nodeType": "YulBlock", - "src": "809:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "818:1:13", - "nodeType": "YulLiteral", - "src": "818:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "821:1:13", - "nodeType": "YulLiteral", - "src": "821:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "811:6:13", - "nodeType": "YulIdentifier", - "src": "811:6:13" - }, - "nativeSrc": "811:12:13", - "nodeType": "YulFunctionCall", - "src": "811:12:13" - }, - "nativeSrc": "811:12:13", - "nodeType": "YulExpressionStatement", - "src": "811:12:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "762:5:13", - "nodeType": "YulIdentifier", - "src": "762:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "800:5:13", - "nodeType": "YulIdentifier", - "src": "800:5:13" - } - ], - "functionName": { - "name": "cleanup_t_contract$_IEAS_$1964", - "nativeSrc": "769:30:13", - "nodeType": "YulIdentifier", - "src": "769:30:13" - }, - "nativeSrc": "769:37:13", - "nodeType": "YulFunctionCall", - "src": "769:37:13" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "759:2:13", - "nodeType": "YulIdentifier", - "src": "759:2:13" - }, - "nativeSrc": "759:48:13", - "nodeType": "YulFunctionCall", - "src": "759:48:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "752:6:13", - "nodeType": "YulIdentifier", - "src": "752:6:13" - }, - "nativeSrc": "752:56:13", - "nodeType": "YulFunctionCall", - "src": "752:56:13" - }, - "nativeSrc": "749:76:13", - "nodeType": "YulIf", - "src": "749:76:13" - } - ] - }, - "name": "validator_revert_t_contract$_IEAS_$1964", - "nativeSrc": "683:148:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "732:5:13", - "nodeType": "YulTypedName", - "src": "732:5:13", - "type": "" - } - ], - "src": "683:148:13" - }, - { - "body": { - "nativeSrc": "913:93:13", - "nodeType": "YulBlock", - "src": "913:93:13", - "statements": [ - { - "nativeSrc": "923:22:13", - "nodeType": "YulAssignment", - "src": "923:22:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "938:6:13", - "nodeType": "YulIdentifier", - "src": "938:6:13" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "932:5:13", - "nodeType": "YulIdentifier", - "src": "932:5:13" - }, - "nativeSrc": "932:13:13", - "nodeType": "YulFunctionCall", - "src": "932:13:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "923:5:13", - "nodeType": "YulIdentifier", - "src": "923:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nativeSrc": "994:5:13", - "nodeType": "YulIdentifier", - "src": "994:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_contract$_IEAS_$1964", - "nativeSrc": "954:39:13", - "nodeType": "YulIdentifier", - "src": "954:39:13" - }, - "nativeSrc": "954:46:13", - "nodeType": "YulFunctionCall", - "src": "954:46:13" - }, - "nativeSrc": "954:46:13", - "nodeType": "YulExpressionStatement", - "src": "954:46:13" - } - ] - }, - "name": "abi_decode_t_contract$_IEAS_$1964_fromMemory", - "nativeSrc": "837:169:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "891:6:13", - "nodeType": "YulTypedName", - "src": "891:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "899:3:13", - "nodeType": "YulTypedName", - "src": "899:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "907:5:13", - "nodeType": "YulTypedName", - "src": "907:5:13", - "type": "" - } - ], - "src": "837:169:13" - }, - { - "body": { - "nativeSrc": "1102:287:13", - "nodeType": "YulBlock", - "src": "1102:287:13", - "statements": [ - { - "body": { - "nativeSrc": "1148:83:13", - "nodeType": "YulBlock", - "src": "1148:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "1150:77:13", - "nodeType": "YulIdentifier", - "src": "1150:77:13" - }, - "nativeSrc": "1150:79:13", - "nodeType": "YulFunctionCall", - "src": "1150:79:13" - }, - "nativeSrc": "1150:79:13", - "nodeType": "YulExpressionStatement", - "src": "1150:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "1123:7:13", - "nodeType": "YulIdentifier", - "src": "1123:7:13" - }, - { - "name": "headStart", - "nativeSrc": "1132:9:13", - "nodeType": "YulIdentifier", - "src": "1132:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "1119:3:13", - "nodeType": "YulIdentifier", - "src": "1119:3:13" - }, - "nativeSrc": "1119:23:13", - "nodeType": "YulFunctionCall", - "src": "1119:23:13" - }, - { - "kind": "number", - "nativeSrc": "1144:2:13", - "nodeType": "YulLiteral", - "src": "1144:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "1115:3:13", - "nodeType": "YulIdentifier", - "src": "1115:3:13" - }, - "nativeSrc": "1115:32:13", - "nodeType": "YulFunctionCall", - "src": "1115:32:13" - }, - "nativeSrc": "1112:119:13", - "nodeType": "YulIf", - "src": "1112:119:13" - }, - { - "nativeSrc": "1241:141:13", - "nodeType": "YulBlock", - "src": "1241:141:13", - "statements": [ - { - "nativeSrc": "1256:15:13", - "nodeType": "YulVariableDeclaration", - "src": "1256:15:13", - "value": { - "kind": "number", - "nativeSrc": "1270:1:13", - "nodeType": "YulLiteral", - "src": "1270:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "1260:6:13", - "nodeType": "YulTypedName", - "src": "1260:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "1285:87:13", - "nodeType": "YulAssignment", - "src": "1285:87:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1344:9:13", - "nodeType": "YulIdentifier", - "src": "1344:9:13" - }, - { - "name": "offset", - "nativeSrc": "1355:6:13", - "nodeType": "YulIdentifier", - "src": "1355:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1340:3:13", - "nodeType": "YulIdentifier", - "src": "1340:3:13" - }, - "nativeSrc": "1340:22:13", - "nodeType": "YulFunctionCall", - "src": "1340:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "1364:7:13", - "nodeType": "YulIdentifier", - "src": "1364:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_contract$_IEAS_$1964_fromMemory", - "nativeSrc": "1295:44:13", - "nodeType": "YulIdentifier", - "src": "1295:44:13" - }, - "nativeSrc": "1295:77:13", - "nodeType": "YulFunctionCall", - "src": "1295:77:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "1285:6:13", - "nodeType": "YulIdentifier", - "src": "1285:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_contract$_IEAS_$1964_fromMemory", - "nativeSrc": "1012:377:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "1072:9:13", - "nodeType": "YulTypedName", - "src": "1072:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "1083:7:13", - "nodeType": "YulTypedName", - "src": "1083:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "1095:6:13", - "nodeType": "YulTypedName", - "src": "1095:6:13", - "type": "" - } - ], - "src": "1012:377:13" - } - ] - }, - "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 cleanup_t_contract$_IEAS_$1964(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_IEAS_$1964(value) {\n if iszero(eq(value, cleanup_t_contract$_IEAS_$1964(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_IEAS_$1964_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_IEAS_$1964(value)\n }\n\n function abi_decode_tuple_t_contract$_IEAS_$1964_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_contract$_IEAS_$1964_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", - "id": 13, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "610100604052348015610010575f80fd5b5060405161116138038061116183398181016040528101906100329190610162565b80600160035f82608081815250508160a081815250508060c081815250505050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100b8576040517f83780ffe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1681525050505061018d565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610120826100f7565b9050919050565b5f61013182610116565b9050919050565b61014181610127565b811461014b575f80fd5b50565b5f8151905061015c81610138565b92915050565b5f60208284031215610177576101766100f3565b5b5f6101848482850161014e565b91505092915050565b60805160a05160c05160e051610fa16101c05f395f61058601525f61021201525f6101e901525f6101c00152610fa15ff3fe608060405260043610610058575f3560e01c806354fd4d50146100a157806388e5b2d9146100cb57806391db0b7e146100fb578063ce46e0461461012b578063e49617e114610155578063e60c3505146101855761009d565b3661009d576100656101b5565b61009b576040517f1574f9f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b3480156100ac575f80fd5b506100b56101b9565b6040516100c29190610a5f565b60405180910390f35b6100e560048036038101906100e09190610b3d565b61025c565b6040516100f29190610bd5565b60405180910390f35b61011560048036038101906101109190610b3d565b610371565b6040516101229190610bd5565b60405180910390f35b348015610136575f80fd5b5061013f6101b5565b60405161014c9190610bd5565b60405180910390f35b61016f600480360381019061016a9190610c11565b610486565b60405161017c9190610bd5565b60405180910390f35b61019f600480360381019061019a9190610c11565b6104a0565b6040516101ac9190610bd5565b60405180910390f35b5f90565b60606101e47f00000000000000000000000000000000000000000000000000000000000000006104ba565b61020d7f00000000000000000000000000000000000000000000000000000000000000006104ba565b6102367f00000000000000000000000000000000000000000000000000000000000000006104ba565b60405160200161024893929190610cdc565b604051602081830303815290604052905090565b5f610265610584565b5f8585905090508383905081146102a8576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610361575f8686838181106102ca576102c9610d22565b5b9050602002013590508281111561030d576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033b89898481811061032357610322610d22565b5b90506020028101906103359190610d5b565b8261060b565b61034b575f945050505050610369565b80830392505061035a81610616565b90506102ae565b506001925050505b949350505050565b5f61037a610584565b5f8585905090508383905081146103bd576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610476575f8686838181106103df576103de610d22565b5b90506020020135905082811115610422576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045089898481811061043857610437610d22565b5b905060200281019061044a9190610d5b565b82610622565b610460575f94505050505061047e565b80830392505061046f81610616565b90506103c3565b506001925050505b949350505050565b5f61048f610584565b610499823461060b565b9050919050565b5f6104a9610584565b6104b38234610622565b9050919050565b60605f60016104c88461082e565b0190505f8167ffffffffffffffff8111156104e6576104e5610d83565b5b6040519080825280601f01601f1916602001820160405280156105185781602001600182028036833780820191505090505b5090505f82602001820190505b600115610579578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161056e5761056d610db0565b5b0494505f8503610525575b819350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610609576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6001905092915050565b5f600182019050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168360c001602081019061064d9190610e37565b73ffffffffffffffffffffffffffffffffffffffff16036106715760019050610828565b5f8360c00160208101906106859190610e37565b73ffffffffffffffffffffffffffffffffffffffff163b036106a9575f9050610828565b5f610705848061012001906106be9190610e62565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061097f565b90508073ffffffffffffffffffffffffffffffffffffffff168460c00160208101906107319190610e37565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f915050610828565b5f8460c00160208101906107699190610e37565b90508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107d357506040513d601f19601f820116820180604052508101906107d09190610ed8565b60015b6107e1575f92505050610828565b8073ffffffffffffffffffffffffffffffffffffffff168660e001602081019061080b9190610e37565b73ffffffffffffffffffffffffffffffffffffffff161493505050505b92915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061088a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816108805761087f610db0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106108c7576d04ee2d6d415b85acef810000000083816108bd576108bc610db0565b5b0492506020810190505b662386f26fc1000083106108f657662386f26fc1000083816108ec576108eb610db0565b5b0492506010810190505b6305f5e100831061091f576305f5e100838161091557610914610db0565b5b0492506008810190505b612710831061094457612710838161093a57610939610db0565b5b0492506004810190505b60648310610967576064838161095d5761095c610db0565b5b0492506002810190505b600a8310610976576001810190505b80915050919050565b5f6020825110156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90610f4d565b60405180910390fd5b5f6020830151905073ffffffffffffffffffffffffffffffffffffffff8116905080915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610a31826109ef565b610a3b81856109f9565b9350610a4b818560208601610a09565b610a5481610a17565b840191505092915050565b5f6020820190508181035f830152610a778184610a27565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610aa857610aa7610a87565b5b8235905067ffffffffffffffff811115610ac557610ac4610a8b565b5b602083019150836020820283011115610ae157610ae0610a8f565b5b9250929050565b5f8083601f840112610afd57610afc610a87565b5b8235905067ffffffffffffffff811115610b1a57610b19610a8b565b5b602083019150836020820283011115610b3657610b35610a8f565b5b9250929050565b5f805f8060408587031215610b5557610b54610a7f565b5b5f85013567ffffffffffffffff811115610b7257610b71610a83565b5b610b7e87828801610a93565b9450945050602085013567ffffffffffffffff811115610ba157610ba0610a83565b5b610bad87828801610ae8565b925092505092959194509250565b5f8115159050919050565b610bcf81610bbb565b82525050565b5f602082019050610be85f830184610bc6565b92915050565b5f80fd5b5f6101408284031215610c0857610c07610bee565b5b81905092915050565b5f60208284031215610c2657610c25610a7f565b5b5f82013567ffffffffffffffff811115610c4357610c42610a83565b5b610c4f84828501610bf2565b91505092915050565b5f81905092915050565b5f610c6c826109ef565b610c768185610c58565b9350610c86818560208601610a09565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610cc6600183610c58565b9150610cd182610c92565b600182019050919050565b5f610ce78286610c62565b9150610cf282610cba565b9150610cfe8285610c62565b9150610d0982610cba565b9150610d158284610c62565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f8235600161014003833603038112610d7757610d76610d4f565b5b80830191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0682610ddd565b9050919050565b610e1681610dfc565b8114610e20575f80fd5b50565b5f81359050610e3181610e0d565b92915050565b5f60208284031215610e4c57610e4b610a7f565b5b5f610e5984828501610e23565b91505092915050565b5f8083356001602003843603038112610e7e57610e7d610d4f565b5b80840192508235915067ffffffffffffffff821115610ea057610e9f610d53565b5b602083019250600182023603831315610ebc57610ebb610d57565b5b509250929050565b5f81519050610ed281610e0d565b92915050565b5f60208284031215610eed57610eec610a7f565b5b5f610efa84828501610ec4565b91505092915050565b7f4461746120746f6f2073686f72740000000000000000000000000000000000005f82015250565b5f610f37600e836109f9565b9150610f4282610f03565b602082019050919050565b5f6020820190508181035f830152610f6481610f2b565b905091905056fea2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", - "opcodes": "PUSH2 0x100 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1161 CODESIZE SUB DUP1 PUSH2 0x1161 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x162 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x3 PUSH0 DUP3 PUSH1 0x80 DUP2 DUP2 MSTORE POP POP DUP2 PUSH1 0xA0 DUP2 DUP2 MSTORE POP POP DUP1 PUSH1 0xC0 DUP2 DUP2 MSTORE POP POP POP POP POP PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x83780FFE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xE0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP POP PUSH2 0x18D JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x120 DUP3 PUSH2 0xF7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x131 DUP3 PUSH2 0x116 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x141 DUP2 PUSH2 0x127 JUMP JUMPDEST DUP2 EQ PUSH2 0x14B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x15C DUP2 PUSH2 0x138 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x177 JUMPI PUSH2 0x176 PUSH2 0xF3 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x184 DUP5 DUP3 DUP6 ADD PUSH2 0x14E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH2 0xFA1 PUSH2 0x1C0 PUSH0 CODECOPY PUSH0 PUSH2 0x586 ADD MSTORE PUSH0 PUSH2 0x212 ADD MSTORE PUSH0 PUSH2 0x1E9 ADD MSTORE PUSH0 PUSH2 0x1C0 ADD MSTORE PUSH2 0xFA1 PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x58 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x88E5B2D9 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x91DB0B7E EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xCE46E046 EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0xE49617E1 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0xE60C3505 EQ PUSH2 0x185 JUMPI PUSH2 0x9D JUMP JUMPDEST CALLDATASIZE PUSH2 0x9D JUMPI PUSH2 0x65 PUSH2 0x1B5 JUMP JUMPDEST PUSH2 0x9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x1574F9F300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xA5F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0xB3D JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0xBD5 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 0xB3D JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x13F PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x486 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1E4 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x20D PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x236 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH2 0x265 PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x361 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x2CA JUMPI PUSH2 0x2C9 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x33B DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x335 SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x60B JUMP JUMPDEST PUSH2 0x34B JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x369 JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x35A DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x37A PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x3BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x3DF JUMPI PUSH2 0x3DE PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x422 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x450 DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x438 JUMPI PUSH2 0x437 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x44A SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x460 JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x47E JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x46F DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x3C3 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48F PUSH2 0x584 JUMP JUMPDEST PUSH2 0x499 DUP3 CALLVALUE PUSH2 0x60B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x4A9 PUSH2 0x584 JUMP JUMPDEST PUSH2 0x4B3 DUP3 CALLVALUE PUSH2 0x622 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0x4C8 DUP5 PUSH2 0x82E JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E6 JUMPI PUSH2 0x4E5 PUSH2 0xD83 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x579 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x525 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4CA8886700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x671 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x685 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0x6A9 JUMPI PUSH0 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 PUSH2 0x705 DUP5 DUP1 PUSH2 0x120 ADD SWAP1 PUSH2 0x6BE SWAP2 SWAP1 PUSH2 0xE62 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 PUSH0 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 PUSH2 0x97F JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x731 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x755 JUMPI PUSH0 SWAP2 POP POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x769 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x7D3 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x7E1 JUMPI PUSH0 SWAP3 POP POP POP PUSH2 0x828 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH1 0xE0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x80B SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x88A JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x880 JUMPI PUSH2 0x87F PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x8C7 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x8BD JUMPI PUSH2 0x8BC PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x8F6 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x8EC JUMPI PUSH2 0x8EB PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x91F JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x915 JUMPI PUSH2 0x914 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x944 JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x967 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x95D JUMPI PUSH2 0x95C PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x976 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 MLOAD LT ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BC SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x20 DUP4 ADD MLOAD SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA31 DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xA3B DUP2 DUP6 PUSH2 0x9F9 JUMP JUMPDEST SWAP4 POP PUSH2 0xA4B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0xA17 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA77 DUP2 DUP5 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAA8 JUMPI PUSH2 0xAA7 PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAC5 JUMPI PUSH2 0xAC4 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAE1 JUMPI PUSH2 0xAE0 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAFD JUMPI PUSH2 0xAFC PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xB36 JUMPI PUSH2 0xB35 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB55 JUMPI PUSH2 0xB54 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB72 JUMPI PUSH2 0xB71 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xB7E DUP8 DUP3 DUP9 ADD PUSH2 0xA93 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xBAD DUP8 DUP3 DUP9 ADD PUSH2 0xAE8 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCF DUP2 PUSH2 0xBBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH0 DUP4 ADD DUP5 PUSH2 0xBC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH2 0x140 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC08 JUMPI PUSH2 0xC07 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC43 JUMPI PUSH2 0xC42 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xC4F DUP5 DUP3 DUP6 ADD PUSH2 0xBF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6C DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xC76 DUP2 DUP6 PUSH2 0xC58 JUMP JUMPDEST SWAP4 POP PUSH2 0xC86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xCC6 PUSH1 0x1 DUP4 PUSH2 0xC58 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD1 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCE7 DUP3 DUP7 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xCF2 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xCFE DUP3 DUP6 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xD09 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xD15 DUP3 DUP5 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH2 0x140 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD77 JUMPI PUSH2 0xD76 PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE06 DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE16 DUP2 PUSH2 0xDFC JUMP JUMPDEST DUP2 EQ PUSH2 0xE20 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE31 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4C JUMPI PUSH2 0xE4B PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE59 DUP5 DUP3 DUP6 ADD PUSH2 0xE23 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xE7E JUMPI PUSH2 0xE7D PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xD53 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xD57 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xED2 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEED JUMPI PUSH2 0xEEC PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEFA DUP5 DUP3 DUP6 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4461746120746F6F2073686F7274000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xF37 PUSH1 0xE DUP4 PUSH2 0x9F9 JUMP JUMPDEST SWAP2 POP PUSH2 0xF42 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF64 DUP2 PUSH2 0xF2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE SWAP12 0xB2 0xC6 SWAP2 0xEB PUSH11 0x4020C67F4FBBD742291EF MUL TLOAD 0xD4 0xD0 SWAP11 SWAP5 GAS 0x4D NOT INVALID SELFDESTRUCT RETURNDATACOPY 0x4E PUSH3 0x64736F PUSH13 0x634300081A0033000000000000 ", - "sourceMap": "344:2067:12:-:0;;;400:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;437:3;676:1:10;679;682;768:5:11;759:14;;;;;;792:5;783:14;;;;;;816:5;807:14;;;;;;692:136;;;723:1:10::1;699:26;;707:3;699:26;;::::0;695:76:::1;;748:12;;;;;;;;;;;;;;695:76;788:3;781:10;;;;;;;;::::0;::::1;647:151:::0;400:44:12;344:2067;;88:117:13;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:109::-;618:7;647:24;665:5;647:24;:::i;:::-;636:35;;568:109;;;:::o;683:148::-;769:37;800:5;769:37;:::i;:::-;762:5;759:48;749:76;;821:1;818;811:12;749:76;683:148;:::o;837:169::-;907:5;938:6;932:13;923:22;;954:46;994:5;954:46;:::i;:::-;837:169;;;;:::o;1012:377::-;1095:6;1144:2;1132:9;1123:7;1119:23;1115:32;1112:119;;;1150:79;;:::i;:::-;1112:119;1270:1;1295:77;1364:7;1355:6;1344:9;1340:22;1295:77;:::i;:::-;1285:87;;1241:141;1012:377;;;;:::o;344:2067:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_2174": { - "entryPoint": null, - "id": 2174, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_onlyEAS_2413": { - "entryPoint": 1412, - "id": 2413, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@attest_2192": { - "entryPoint": 1184, - "id": 2192, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@extractAddressFromData_2598": { - "entryPoint": 2431, - "id": 2598, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@isPayable_2161": { - "entryPoint": 437, - "id": 2161, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@log10_1306": { - "entryPoint": 2094, - "id": 1306, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@multiAttest_2274": { - "entryPoint": 881, - "id": 2274, - "parameterSlots": 4, - "returnSlots": 1 - }, - "@multiRevoke_2374": { - "entryPoint": 604, - "id": 2374, - "parameterSlots": 4, - "returnSlots": 1 - }, - "@onAttest_2576": { - "entryPoint": 1570, - "id": 2576, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@onRevoke_2612": { - "entryPoint": 1547, - "id": 2612, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@revoke_2292": { - "entryPoint": 1158, - "id": 2292, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@toString_245": { - "entryPoint": 1210, - "id": 245, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@uncheckedInc_1657": { - "entryPoint": 1558, - "id": 1657, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@version_2480": { - "entryPoint": 441, - "id": 2480, - "parameterSlots": 0, - "returnSlots": 1 - }, - "abi_decode_t_address": { - "entryPoint": 3619, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_t_address_fromMemory": { - "entryPoint": 3780, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr": { - "entryPoint": 2707, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr": { - "entryPoint": 2792, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_t_struct$_Attestation_$1641_calldata_ptr": { - "entryPoint": 3058, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 3639, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address_fromMemory": { - "entryPoint": 3800, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr": { - "entryPoint": 2877, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr": { - "entryPoint": 3089, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_bool_to_t_bool_fromStack": { - "entryPoint": 3014, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { - "entryPoint": 2599, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 3170, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 3258, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack": { - "entryPoint": 3883, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 3292, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": 3029, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 2655, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 3917, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "access_calldata_tail_t_bytes_calldata_ptr": { - "entryPoint": 3682, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "access_calldata_tail_t_struct$_Attestation_$1641_calldata_ptr": { - "entryPoint": 3419, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "allocate_unbounded": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 1 - }, - "array_length_t_string_memory_ptr": { - "entryPoint": 2543, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { - "entryPoint": 2553, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": { - "entryPoint": 3160, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "cleanup_t_address": { - "entryPoint": 3580, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "cleanup_t_bool": { - "entryPoint": 3003, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "cleanup_t_uint160": { - "entryPoint": 3549, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "copy_memory_to_memory_with_cleanup": { - "entryPoint": 2569, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "panic_error_0x12": { - "entryPoint": 3504, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x32": { - "entryPoint": 3362, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 3459, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { - "entryPoint": 2699, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { - "entryPoint": 2695, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a": { - "entryPoint": 3411, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d": { - "entryPoint": 3054, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad": { - "entryPoint": 3407, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { - "entryPoint": 2703, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e": { - "entryPoint": 3415, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { - "entryPoint": 2691, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { - "entryPoint": 2687, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "round_up_to_mul_of_32": { - "entryPoint": 2583, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf": { - "entryPoint": 3218, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94": { - "entryPoint": 3843, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - }, - "validator_revert_t_address": { - "entryPoint": 3597, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nativeSrc": "0:12159:13", - "nodeType": "YulBlock", - "src": "0:12159:13", - "statements": [ - { - "body": { - "nativeSrc": "66:40:13", - "nodeType": "YulBlock", - "src": "66:40:13", - "statements": [ - { - "nativeSrc": "77:22:13", - "nodeType": "YulAssignment", - "src": "77:22:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "93:5:13", - "nodeType": "YulIdentifier", - "src": "93:5:13" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "87:5:13", - "nodeType": "YulIdentifier", - "src": "87:5:13" - }, - "nativeSrc": "87:12:13", - "nodeType": "YulFunctionCall", - "src": "87:12:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "77:6:13", - "nodeType": "YulIdentifier", - "src": "77:6:13" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "7:99:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "49:5:13", - "nodeType": "YulTypedName", - "src": "49:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nativeSrc": "59:6:13", - "nodeType": "YulTypedName", - "src": "59:6:13", - "type": "" - } - ], - "src": "7:99:13" - }, - { - "body": { - "nativeSrc": "208:73:13", - "nodeType": "YulBlock", - "src": "208:73:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "225:3:13", - "nodeType": "YulIdentifier", - "src": "225:3:13" - }, - { - "name": "length", - "nativeSrc": "230:6:13", - "nodeType": "YulIdentifier", - "src": "230:6:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "218:6:13", - "nodeType": "YulIdentifier", - "src": "218:6:13" - }, - "nativeSrc": "218:19:13", - "nodeType": "YulFunctionCall", - "src": "218:19:13" - }, - "nativeSrc": "218:19:13", - "nodeType": "YulExpressionStatement", - "src": "218:19:13" - }, - { - "nativeSrc": "246:29:13", - "nodeType": "YulAssignment", - "src": "246:29:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "265:3:13", - "nodeType": "YulIdentifier", - "src": "265:3:13" - }, - { - "kind": "number", - "nativeSrc": "270:4:13", - "nodeType": "YulLiteral", - "src": "270:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "261:3:13", - "nodeType": "YulIdentifier", - "src": "261:3:13" - }, - "nativeSrc": "261:14:13", - "nodeType": "YulFunctionCall", - "src": "261:14:13" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "246:11:13", - "nodeType": "YulIdentifier", - "src": "246:11:13" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "112:169:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "180:3:13", - "nodeType": "YulTypedName", - "src": "180:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "185:6:13", - "nodeType": "YulTypedName", - "src": "185:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "196:11:13", - "nodeType": "YulTypedName", - "src": "196:11:13", - "type": "" - } - ], - "src": "112:169:13" - }, - { - "body": { - "nativeSrc": "349:77:13", - "nodeType": "YulBlock", - "src": "349:77:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nativeSrc": "366:3:13", - "nodeType": "YulIdentifier", - "src": "366:3:13" - }, - { - "name": "src", - "nativeSrc": "371:3:13", - "nodeType": "YulIdentifier", - "src": "371:3:13" - }, - { - "name": "length", - "nativeSrc": "376:6:13", - "nodeType": "YulIdentifier", - "src": "376:6:13" - } - ], - "functionName": { - "name": "mcopy", - "nativeSrc": "360:5:13", - "nodeType": "YulIdentifier", - "src": "360:5:13" - }, - "nativeSrc": "360:23:13", - "nodeType": "YulFunctionCall", - "src": "360:23:13" - }, - "nativeSrc": "360:23:13", - "nodeType": "YulExpressionStatement", - "src": "360:23:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nativeSrc": "403:3:13", - "nodeType": "YulIdentifier", - "src": "403:3:13" - }, - { - "name": "length", - "nativeSrc": "408:6:13", - "nodeType": "YulIdentifier", - "src": "408:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "399:3:13", - "nodeType": "YulIdentifier", - "src": "399:3:13" - }, - "nativeSrc": "399:16:13", - "nodeType": "YulFunctionCall", - "src": "399:16:13" - }, - { - "kind": "number", - "nativeSrc": "417:1:13", - "nodeType": "YulLiteral", - "src": "417:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "392:6:13", - "nodeType": "YulIdentifier", - "src": "392:6:13" - }, - "nativeSrc": "392:27:13", - "nodeType": "YulFunctionCall", - "src": "392:27:13" - }, - "nativeSrc": "392:27:13", - "nodeType": "YulExpressionStatement", - "src": "392:27:13" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "287:139:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nativeSrc": "331:3:13", - "nodeType": "YulTypedName", - "src": "331:3:13", - "type": "" - }, - { - "name": "dst", - "nativeSrc": "336:3:13", - "nodeType": "YulTypedName", - "src": "336:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "341:6:13", - "nodeType": "YulTypedName", - "src": "341:6:13", - "type": "" - } - ], - "src": "287:139:13" - }, - { - "body": { - "nativeSrc": "480:54:13", - "nodeType": "YulBlock", - "src": "480:54:13", - "statements": [ - { - "nativeSrc": "490:38:13", - "nodeType": "YulAssignment", - "src": "490:38:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "508:5:13", - "nodeType": "YulIdentifier", - "src": "508:5:13" - }, - { - "kind": "number", - "nativeSrc": "515:2:13", - "nodeType": "YulLiteral", - "src": "515:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "504:3:13", - "nodeType": "YulIdentifier", - "src": "504:3:13" - }, - "nativeSrc": "504:14:13", - "nodeType": "YulFunctionCall", - "src": "504:14:13" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "524:2:13", - "nodeType": "YulLiteral", - "src": "524:2:13", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "520:3:13", - "nodeType": "YulIdentifier", - "src": "520:3:13" - }, - "nativeSrc": "520:7:13", - "nodeType": "YulFunctionCall", - "src": "520:7:13" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "500:3:13", - "nodeType": "YulIdentifier", - "src": "500:3:13" - }, - "nativeSrc": "500:28:13", - "nodeType": "YulFunctionCall", - "src": "500:28:13" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "490:6:13", - "nodeType": "YulIdentifier", - "src": "490:6:13" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nativeSrc": "432:102:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "463:5:13", - "nodeType": "YulTypedName", - "src": "463:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "473:6:13", - "nodeType": "YulTypedName", - "src": "473:6:13", - "type": "" - } - ], - "src": "432:102:13" - }, - { - "body": { - "nativeSrc": "632:285:13", - "nodeType": "YulBlock", - "src": "632:285:13", - "statements": [ - { - "nativeSrc": "642:53:13", - "nodeType": "YulVariableDeclaration", - "src": "642:53:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "689:5:13", - "nodeType": "YulIdentifier", - "src": "689:5:13" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "656:32:13", - "nodeType": "YulIdentifier", - "src": "656:32:13" - }, - "nativeSrc": "656:39:13", - "nodeType": "YulFunctionCall", - "src": "656:39:13" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "646:6:13", - "nodeType": "YulTypedName", - "src": "646:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "704:78:13", - "nodeType": "YulAssignment", - "src": "704:78:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "770:3:13", - "nodeType": "YulIdentifier", - "src": "770:3:13" - }, - { - "name": "length", - "nativeSrc": "775:6:13", - "nodeType": "YulIdentifier", - "src": "775:6:13" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "711:58:13", - "nodeType": "YulIdentifier", - "src": "711:58:13" - }, - "nativeSrc": "711:71:13", - "nodeType": "YulFunctionCall", - "src": "711:71:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "704:3:13", - "nodeType": "YulIdentifier", - "src": "704:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "830:5:13", - "nodeType": "YulIdentifier", - "src": "830:5:13" - }, - { - "kind": "number", - "nativeSrc": "837:4:13", - "nodeType": "YulLiteral", - "src": "837:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "826:3:13", - "nodeType": "YulIdentifier", - "src": "826:3:13" - }, - "nativeSrc": "826:16:13", - "nodeType": "YulFunctionCall", - "src": "826:16:13" - }, - { - "name": "pos", - "nativeSrc": "844:3:13", - "nodeType": "YulIdentifier", - "src": "844:3:13" - }, - { - "name": "length", - "nativeSrc": "849:6:13", - "nodeType": "YulIdentifier", - "src": "849:6:13" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "791:34:13", - "nodeType": "YulIdentifier", - "src": "791:34:13" - }, - "nativeSrc": "791:65:13", - "nodeType": "YulFunctionCall", - "src": "791:65:13" - }, - "nativeSrc": "791:65:13", - "nodeType": "YulExpressionStatement", - "src": "791:65:13" - }, - { - "nativeSrc": "865:46:13", - "nodeType": "YulAssignment", - "src": "865:46:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "876:3:13", - "nodeType": "YulIdentifier", - "src": "876:3:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "903:6:13", - "nodeType": "YulIdentifier", - "src": "903:6:13" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nativeSrc": "881:21:13", - "nodeType": "YulIdentifier", - "src": "881:21:13" - }, - "nativeSrc": "881:29:13", - "nodeType": "YulFunctionCall", - "src": "881:29:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "872:3:13", - "nodeType": "YulIdentifier", - "src": "872:3:13" - }, - "nativeSrc": "872:39:13", - "nodeType": "YulFunctionCall", - "src": "872:39:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "865:3:13", - "nodeType": "YulIdentifier", - "src": "865:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nativeSrc": "540:377:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "613:5:13", - "nodeType": "YulTypedName", - "src": "613:5:13", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "620:3:13", - "nodeType": "YulTypedName", - "src": "620:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "628:3:13", - "nodeType": "YulTypedName", - "src": "628:3:13", - "type": "" - } - ], - "src": "540:377:13" - }, - { - "body": { - "nativeSrc": "1041:195:13", - "nodeType": "YulBlock", - "src": "1041:195:13", - "statements": [ - { - "nativeSrc": "1051:26:13", - "nodeType": "YulAssignment", - "src": "1051:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1063:9:13", - "nodeType": "YulIdentifier", - "src": "1063:9:13" - }, - { - "kind": "number", - "nativeSrc": "1074:2:13", - "nodeType": "YulLiteral", - "src": "1074:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1059:3:13", - "nodeType": "YulIdentifier", - "src": "1059:3:13" - }, - "nativeSrc": "1059:18:13", - "nodeType": "YulFunctionCall", - "src": "1059:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "1051:4:13", - "nodeType": "YulIdentifier", - "src": "1051:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "1098:9:13", - "nodeType": "YulIdentifier", - "src": "1098:9:13" - }, - { - "kind": "number", - "nativeSrc": "1109:1:13", - "nodeType": "YulLiteral", - "src": "1109:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1094:3:13", - "nodeType": "YulIdentifier", - "src": "1094:3:13" - }, - "nativeSrc": "1094:17:13", - "nodeType": "YulFunctionCall", - "src": "1094:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "1117:4:13", - "nodeType": "YulIdentifier", - "src": "1117:4:13" - }, - { - "name": "headStart", - "nativeSrc": "1123:9:13", - "nodeType": "YulIdentifier", - "src": "1123:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "1113:3:13", - "nodeType": "YulIdentifier", - "src": "1113:3:13" - }, - "nativeSrc": "1113:20:13", - "nodeType": "YulFunctionCall", - "src": "1113:20:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "1087:6:13", - "nodeType": "YulIdentifier", - "src": "1087:6:13" - }, - "nativeSrc": "1087:47:13", - "nodeType": "YulFunctionCall", - "src": "1087:47:13" - }, - "nativeSrc": "1087:47:13", - "nodeType": "YulExpressionStatement", - "src": "1087:47:13" - }, - { - "nativeSrc": "1143:86:13", - "nodeType": "YulAssignment", - "src": "1143:86:13", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "1215:6:13", - "nodeType": "YulIdentifier", - "src": "1215:6:13" - }, - { - "name": "tail", - "nativeSrc": "1224:4:13", - "nodeType": "YulIdentifier", - "src": "1224:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nativeSrc": "1151:63:13", - "nodeType": "YulIdentifier", - "src": "1151:63:13" - }, - "nativeSrc": "1151:78:13", - "nodeType": "YulFunctionCall", - "src": "1151:78:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "1143:4:13", - "nodeType": "YulIdentifier", - "src": "1143:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "923:313:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "1013:9:13", - "nodeType": "YulTypedName", - "src": "1013:9:13", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "1025:6:13", - "nodeType": "YulTypedName", - "src": "1025:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "1036:4:13", - "nodeType": "YulTypedName", - "src": "1036:4:13", - "type": "" - } - ], - "src": "923:313:13" - }, - { - "body": { - "nativeSrc": "1282:35:13", - "nodeType": "YulBlock", - "src": "1282:35:13", - "statements": [ - { - "nativeSrc": "1292:19:13", - "nodeType": "YulAssignment", - "src": "1292:19:13", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1308:2:13", - "nodeType": "YulLiteral", - "src": "1308:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "1302:5:13", - "nodeType": "YulIdentifier", - "src": "1302:5:13" - }, - "nativeSrc": "1302:9:13", - "nodeType": "YulFunctionCall", - "src": "1302:9:13" - }, - "variableNames": [ - { - "name": "memPtr", - "nativeSrc": "1292:6:13", - "nodeType": "YulIdentifier", - "src": "1292:6:13" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nativeSrc": "1242:75:13", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nativeSrc": "1275:6:13", - "nodeType": "YulTypedName", - "src": "1275:6:13", - "type": "" - } - ], - "src": "1242:75:13" - }, - { - "body": { - "nativeSrc": "1412:28:13", - "nodeType": "YulBlock", - "src": "1412:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1429:1:13", - "nodeType": "YulLiteral", - "src": "1429:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1432:1:13", - "nodeType": "YulLiteral", - "src": "1432:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1422:6:13", - "nodeType": "YulIdentifier", - "src": "1422:6:13" - }, - "nativeSrc": "1422:12:13", - "nodeType": "YulFunctionCall", - "src": "1422:12:13" - }, - "nativeSrc": "1422:12:13", - "nodeType": "YulExpressionStatement", - "src": "1422:12:13" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "1323:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1323:117:13" - }, - { - "body": { - "nativeSrc": "1535:28:13", - "nodeType": "YulBlock", - "src": "1535:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1552:1:13", - "nodeType": "YulLiteral", - "src": "1552:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1555:1:13", - "nodeType": "YulLiteral", - "src": "1555:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1545:6:13", - "nodeType": "YulIdentifier", - "src": "1545:6:13" - }, - "nativeSrc": "1545:12:13", - "nodeType": "YulFunctionCall", - "src": "1545:12:13" - }, - "nativeSrc": "1545:12:13", - "nodeType": "YulExpressionStatement", - "src": "1545:12:13" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "1446:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1446:117:13" - }, - { - "body": { - "nativeSrc": "1658:28:13", - "nodeType": "YulBlock", - "src": "1658:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1675:1:13", - "nodeType": "YulLiteral", - "src": "1675:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1678:1:13", - "nodeType": "YulLiteral", - "src": "1678:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1668:6:13", - "nodeType": "YulIdentifier", - "src": "1668:6:13" - }, - "nativeSrc": "1668:12:13", - "nodeType": "YulFunctionCall", - "src": "1668:12:13" - }, - "nativeSrc": "1668:12:13", - "nodeType": "YulExpressionStatement", - "src": "1668:12:13" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nativeSrc": "1569:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1569:117:13" - }, - { - "body": { - "nativeSrc": "1781:28:13", - "nodeType": "YulBlock", - "src": "1781:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1798:1:13", - "nodeType": "YulLiteral", - "src": "1798:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1801:1:13", - "nodeType": "YulLiteral", - "src": "1801:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1791:6:13", - "nodeType": "YulIdentifier", - "src": "1791:6:13" - }, - "nativeSrc": "1791:12:13", - "nodeType": "YulFunctionCall", - "src": "1791:12:13" - }, - "nativeSrc": "1791:12:13", - "nodeType": "YulExpressionStatement", - "src": "1791:12:13" - } - ] - }, - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nativeSrc": "1692:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1692:117:13" - }, - { - "body": { - "nativeSrc": "1904:28:13", - "nodeType": "YulBlock", - "src": "1904:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "1921:1:13", - "nodeType": "YulLiteral", - "src": "1921:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "1924:1:13", - "nodeType": "YulLiteral", - "src": "1924:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "1914:6:13", - "nodeType": "YulIdentifier", - "src": "1914:6:13" - }, - "nativeSrc": "1914:12:13", - "nodeType": "YulFunctionCall", - "src": "1914:12:13" - }, - "nativeSrc": "1914:12:13", - "nodeType": "YulExpressionStatement", - "src": "1914:12:13" - } - ] - }, - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nativeSrc": "1815:117:13", - "nodeType": "YulFunctionDefinition", - "src": "1815:117:13" - }, - { - "body": { - "nativeSrc": "2087:478:13", - "nodeType": "YulBlock", - "src": "2087:478:13", - "statements": [ - { - "body": { - "nativeSrc": "2136:83:13", - "nodeType": "YulBlock", - "src": "2136:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nativeSrc": "2138:77:13", - "nodeType": "YulIdentifier", - "src": "2138:77:13" - }, - "nativeSrc": "2138:79:13", - "nodeType": "YulFunctionCall", - "src": "2138:79:13" - }, - "nativeSrc": "2138:79:13", - "nodeType": "YulExpressionStatement", - "src": "2138:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2115:6:13", - "nodeType": "YulIdentifier", - "src": "2115:6:13" - }, - { - "kind": "number", - "nativeSrc": "2123:4:13", - "nodeType": "YulLiteral", - "src": "2123:4:13", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2111:3:13", - "nodeType": "YulIdentifier", - "src": "2111:3:13" - }, - "nativeSrc": "2111:17:13", - "nodeType": "YulFunctionCall", - "src": "2111:17:13" - }, - { - "name": "end", - "nativeSrc": "2130:3:13", - "nodeType": "YulIdentifier", - "src": "2130:3:13" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "2107:3:13", - "nodeType": "YulIdentifier", - "src": "2107:3:13" - }, - "nativeSrc": "2107:27:13", - "nodeType": "YulFunctionCall", - "src": "2107:27:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "2100:6:13", - "nodeType": "YulIdentifier", - "src": "2100:6:13" - }, - "nativeSrc": "2100:35:13", - "nodeType": "YulFunctionCall", - "src": "2100:35:13" - }, - "nativeSrc": "2097:122:13", - "nodeType": "YulIf", - "src": "2097:122:13" - }, - { - "nativeSrc": "2228:30:13", - "nodeType": "YulAssignment", - "src": "2228:30:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2251:6:13", - "nodeType": "YulIdentifier", - "src": "2251:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "2238:12:13", - "nodeType": "YulIdentifier", - "src": "2238:12:13" - }, - "nativeSrc": "2238:20:13", - "nodeType": "YulFunctionCall", - "src": "2238:20:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "2228:6:13", - "nodeType": "YulIdentifier", - "src": "2228:6:13" - } - ] - }, - { - "body": { - "nativeSrc": "2301:83:13", - "nodeType": "YulBlock", - "src": "2301:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nativeSrc": "2303:77:13", - "nodeType": "YulIdentifier", - "src": "2303:77:13" - }, - "nativeSrc": "2303:79:13", - "nodeType": "YulFunctionCall", - "src": "2303:79:13" - }, - "nativeSrc": "2303:79:13", - "nodeType": "YulExpressionStatement", - "src": "2303:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nativeSrc": "2273:6:13", - "nodeType": "YulIdentifier", - "src": "2273:6:13" - }, - { - "kind": "number", - "nativeSrc": "2281:18:13", - "nodeType": "YulLiteral", - "src": "2281:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "2270:2:13", - "nodeType": "YulIdentifier", - "src": "2270:2:13" - }, - "nativeSrc": "2270:30:13", - "nodeType": "YulFunctionCall", - "src": "2270:30:13" - }, - "nativeSrc": "2267:117:13", - "nodeType": "YulIf", - "src": "2267:117:13" - }, - { - "nativeSrc": "2393:29:13", - "nodeType": "YulAssignment", - "src": "2393:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2409:6:13", - "nodeType": "YulIdentifier", - "src": "2409:6:13" - }, - { - "kind": "number", - "nativeSrc": "2417:4:13", - "nodeType": "YulLiteral", - "src": "2417:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2405:3:13", - "nodeType": "YulIdentifier", - "src": "2405:3:13" - }, - "nativeSrc": "2405:17:13", - "nodeType": "YulFunctionCall", - "src": "2405:17:13" - }, - "variableNames": [ - { - "name": "arrayPos", - "nativeSrc": "2393:8:13", - "nodeType": "YulIdentifier", - "src": "2393:8:13" - } - ] - }, - { - "body": { - "nativeSrc": "2476:83:13", - "nodeType": "YulBlock", - "src": "2476:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nativeSrc": "2478:77:13", - "nodeType": "YulIdentifier", - "src": "2478:77:13" - }, - "nativeSrc": "2478:79:13", - "nodeType": "YulFunctionCall", - "src": "2478:79:13" - }, - "nativeSrc": "2478:79:13", - "nodeType": "YulExpressionStatement", - "src": "2478:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "arrayPos", - "nativeSrc": "2441:8:13", - "nodeType": "YulIdentifier", - "src": "2441:8:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "2455:6:13", - "nodeType": "YulIdentifier", - "src": "2455:6:13" - }, - { - "kind": "number", - "nativeSrc": "2463:4:13", - "nodeType": "YulLiteral", - "src": "2463:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "2451:3:13", - "nodeType": "YulIdentifier", - "src": "2451:3:13" - }, - "nativeSrc": "2451:17:13", - "nodeType": "YulFunctionCall", - "src": "2451:17:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2437:3:13", - "nodeType": "YulIdentifier", - "src": "2437:3:13" - }, - "nativeSrc": "2437:32:13", - "nodeType": "YulFunctionCall", - "src": "2437:32:13" - }, - { - "name": "end", - "nativeSrc": "2471:3:13", - "nodeType": "YulIdentifier", - "src": "2471:3:13" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "2434:2:13", - "nodeType": "YulIdentifier", - "src": "2434:2:13" - }, - "nativeSrc": "2434:41:13", - "nodeType": "YulFunctionCall", - "src": "2434:41:13" - }, - "nativeSrc": "2431:128:13", - "nodeType": "YulIf", - "src": "2431:128:13" - } - ] - }, - "name": "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "nativeSrc": "1966:599:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "2054:6:13", - "nodeType": "YulTypedName", - "src": "2054:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "2062:3:13", - "nodeType": "YulTypedName", - "src": "2062:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nativeSrc": "2070:8:13", - "nodeType": "YulTypedName", - "src": "2070:8:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "2080:6:13", - "nodeType": "YulTypedName", - "src": "2080:6:13", - "type": "" - } - ], - "src": "1966:599:13" - }, - { - "body": { - "nativeSrc": "2678:478:13", - "nodeType": "YulBlock", - "src": "2678:478:13", - "statements": [ - { - "body": { - "nativeSrc": "2727:83:13", - "nodeType": "YulBlock", - "src": "2727:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nativeSrc": "2729:77:13", - "nodeType": "YulIdentifier", - "src": "2729:77:13" - }, - "nativeSrc": "2729:79:13", - "nodeType": "YulFunctionCall", - "src": "2729:79:13" - }, - "nativeSrc": "2729:79:13", - "nodeType": "YulExpressionStatement", - "src": "2729:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2706:6:13", - "nodeType": "YulIdentifier", - "src": "2706:6:13" - }, - { - "kind": "number", - "nativeSrc": "2714:4:13", - "nodeType": "YulLiteral", - "src": "2714:4:13", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2702:3:13", - "nodeType": "YulIdentifier", - "src": "2702:3:13" - }, - "nativeSrc": "2702:17:13", - "nodeType": "YulFunctionCall", - "src": "2702:17:13" - }, - { - "name": "end", - "nativeSrc": "2721:3:13", - "nodeType": "YulIdentifier", - "src": "2721:3:13" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "2698:3:13", - "nodeType": "YulIdentifier", - "src": "2698:3:13" - }, - "nativeSrc": "2698:27:13", - "nodeType": "YulFunctionCall", - "src": "2698:27:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "2691:6:13", - "nodeType": "YulIdentifier", - "src": "2691:6:13" - }, - "nativeSrc": "2691:35:13", - "nodeType": "YulFunctionCall", - "src": "2691:35:13" - }, - "nativeSrc": "2688:122:13", - "nodeType": "YulIf", - "src": "2688:122:13" - }, - { - "nativeSrc": "2819:30:13", - "nodeType": "YulAssignment", - "src": "2819:30:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "2842:6:13", - "nodeType": "YulIdentifier", - "src": "2842:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "2829:12:13", - "nodeType": "YulIdentifier", - "src": "2829:12:13" - }, - "nativeSrc": "2829:20:13", - "nodeType": "YulFunctionCall", - "src": "2829:20:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "2819:6:13", - "nodeType": "YulIdentifier", - "src": "2819:6:13" - } - ] - }, - { - "body": { - "nativeSrc": "2892:83:13", - "nodeType": "YulBlock", - "src": "2892:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nativeSrc": "2894:77:13", - "nodeType": "YulIdentifier", - "src": "2894:77:13" - }, - "nativeSrc": "2894:79:13", - "nodeType": "YulFunctionCall", - "src": "2894:79:13" - }, - "nativeSrc": "2894:79:13", - "nodeType": "YulExpressionStatement", - "src": "2894:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nativeSrc": "2864:6:13", - "nodeType": "YulIdentifier", - "src": "2864:6:13" - }, - { - "kind": "number", - "nativeSrc": "2872:18:13", - "nodeType": "YulLiteral", - "src": "2872:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "2861:2:13", - "nodeType": "YulIdentifier", - "src": "2861:2:13" - }, - "nativeSrc": "2861:30:13", - "nodeType": "YulFunctionCall", - "src": "2861:30:13" - }, - "nativeSrc": "2858:117:13", - "nodeType": "YulIf", - "src": "2858:117:13" - }, - { - "nativeSrc": "2984:29:13", - "nodeType": "YulAssignment", - "src": "2984:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "3000:6:13", - "nodeType": "YulIdentifier", - "src": "3000:6:13" - }, - { - "kind": "number", - "nativeSrc": "3008:4:13", - "nodeType": "YulLiteral", - "src": "3008:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "2996:3:13", - "nodeType": "YulIdentifier", - "src": "2996:3:13" - }, - "nativeSrc": "2996:17:13", - "nodeType": "YulFunctionCall", - "src": "2996:17:13" - }, - "variableNames": [ - { - "name": "arrayPos", - "nativeSrc": "2984:8:13", - "nodeType": "YulIdentifier", - "src": "2984:8:13" - } - ] - }, - { - "body": { - "nativeSrc": "3067:83:13", - "nodeType": "YulBlock", - "src": "3067:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nativeSrc": "3069:77:13", - "nodeType": "YulIdentifier", - "src": "3069:77:13" - }, - "nativeSrc": "3069:79:13", - "nodeType": "YulFunctionCall", - "src": "3069:79:13" - }, - "nativeSrc": "3069:79:13", - "nodeType": "YulExpressionStatement", - "src": "3069:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "arrayPos", - "nativeSrc": "3032:8:13", - "nodeType": "YulIdentifier", - "src": "3032:8:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "3046:6:13", - "nodeType": "YulIdentifier", - "src": "3046:6:13" - }, - { - "kind": "number", - "nativeSrc": "3054:4:13", - "nodeType": "YulLiteral", - "src": "3054:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "3042:3:13", - "nodeType": "YulIdentifier", - "src": "3042:3:13" - }, - "nativeSrc": "3042:17:13", - "nodeType": "YulFunctionCall", - "src": "3042:17:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3028:3:13", - "nodeType": "YulIdentifier", - "src": "3028:3:13" - }, - "nativeSrc": "3028:32:13", - "nodeType": "YulFunctionCall", - "src": "3028:32:13" - }, - { - "name": "end", - "nativeSrc": "3062:3:13", - "nodeType": "YulIdentifier", - "src": "3062:3:13" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "3025:2:13", - "nodeType": "YulIdentifier", - "src": "3025:2:13" - }, - "nativeSrc": "3025:41:13", - "nodeType": "YulFunctionCall", - "src": "3025:41:13" - }, - "nativeSrc": "3022:128:13", - "nodeType": "YulIf", - "src": "3022:128:13" - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", - "nativeSrc": "2588:568:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "2645:6:13", - "nodeType": "YulTypedName", - "src": "2645:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "2653:3:13", - "nodeType": "YulTypedName", - "src": "2653:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nativeSrc": "2661:8:13", - "nodeType": "YulTypedName", - "src": "2661:8:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "2671:6:13", - "nodeType": "YulTypedName", - "src": "2671:6:13", - "type": "" - } - ], - "src": "2588:568:13" - }, - { - "body": { - "nativeSrc": "3346:812:13", - "nodeType": "YulBlock", - "src": "3346:812:13", - "statements": [ - { - "body": { - "nativeSrc": "3392:83:13", - "nodeType": "YulBlock", - "src": "3392:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "3394:77:13", - "nodeType": "YulIdentifier", - "src": "3394:77:13" - }, - "nativeSrc": "3394:79:13", - "nodeType": "YulFunctionCall", - "src": "3394:79:13" - }, - "nativeSrc": "3394:79:13", - "nodeType": "YulExpressionStatement", - "src": "3394:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "3367:7:13", - "nodeType": "YulIdentifier", - "src": "3367:7:13" - }, - { - "name": "headStart", - "nativeSrc": "3376:9:13", - "nodeType": "YulIdentifier", - "src": "3376:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "3363:3:13", - "nodeType": "YulIdentifier", - "src": "3363:3:13" - }, - "nativeSrc": "3363:23:13", - "nodeType": "YulFunctionCall", - "src": "3363:23:13" - }, - { - "kind": "number", - "nativeSrc": "3388:2:13", - "nodeType": "YulLiteral", - "src": "3388:2:13", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "3359:3:13", - "nodeType": "YulIdentifier", - "src": "3359:3:13" - }, - "nativeSrc": "3359:32:13", - "nodeType": "YulFunctionCall", - "src": "3359:32:13" - }, - "nativeSrc": "3356:119:13", - "nodeType": "YulIf", - "src": "3356:119:13" - }, - { - "nativeSrc": "3485:343:13", - "nodeType": "YulBlock", - "src": "3485:343:13", - "statements": [ - { - "nativeSrc": "3500:45:13", - "nodeType": "YulVariableDeclaration", - "src": "3500:45:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3531:9:13", - "nodeType": "YulIdentifier", - "src": "3531:9:13" - }, - { - "kind": "number", - "nativeSrc": "3542:1:13", - "nodeType": "YulLiteral", - "src": "3542:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3527:3:13", - "nodeType": "YulIdentifier", - "src": "3527:3:13" - }, - "nativeSrc": "3527:17:13", - "nodeType": "YulFunctionCall", - "src": "3527:17:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "3514:12:13", - "nodeType": "YulIdentifier", - "src": "3514:12:13" - }, - "nativeSrc": "3514:31:13", - "nodeType": "YulFunctionCall", - "src": "3514:31:13" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "3504:6:13", - "nodeType": "YulTypedName", - "src": "3504:6:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "3592:83:13", - "nodeType": "YulBlock", - "src": "3592:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "3594:77:13", - "nodeType": "YulIdentifier", - "src": "3594:77:13" - }, - "nativeSrc": "3594:79:13", - "nodeType": "YulFunctionCall", - "src": "3594:79:13" - }, - "nativeSrc": "3594:79:13", - "nodeType": "YulExpressionStatement", - "src": "3594:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "3564:6:13", - "nodeType": "YulIdentifier", - "src": "3564:6:13" - }, - { - "kind": "number", - "nativeSrc": "3572:18:13", - "nodeType": "YulLiteral", - "src": "3572:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "3561:2:13", - "nodeType": "YulIdentifier", - "src": "3561:2:13" - }, - "nativeSrc": "3561:30:13", - "nodeType": "YulFunctionCall", - "src": "3561:30:13" - }, - "nativeSrc": "3558:117:13", - "nodeType": "YulIf", - "src": "3558:117:13" - }, - { - "nativeSrc": "3689:129:13", - "nodeType": "YulAssignment", - "src": "3689:129:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3790:9:13", - "nodeType": "YulIdentifier", - "src": "3790:9:13" - }, - { - "name": "offset", - "nativeSrc": "3801:6:13", - "nodeType": "YulIdentifier", - "src": "3801:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3786:3:13", - "nodeType": "YulIdentifier", - "src": "3786:3:13" - }, - "nativeSrc": "3786:22:13", - "nodeType": "YulFunctionCall", - "src": "3786:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "3810:7:13", - "nodeType": "YulIdentifier", - "src": "3810:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "nativeSrc": "3707:78:13", - "nodeType": "YulIdentifier", - "src": "3707:78:13" - }, - "nativeSrc": "3707:111:13", - "nodeType": "YulFunctionCall", - "src": "3707:111:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "3689:6:13", - "nodeType": "YulIdentifier", - "src": "3689:6:13" - }, - { - "name": "value1", - "nativeSrc": "3697:6:13", - "nodeType": "YulIdentifier", - "src": "3697:6:13" - } - ] - } - ] - }, - { - "nativeSrc": "3838:313:13", - "nodeType": "YulBlock", - "src": "3838:313:13", - "statements": [ - { - "nativeSrc": "3853:46:13", - "nodeType": "YulVariableDeclaration", - "src": "3853:46:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "3884:9:13", - "nodeType": "YulIdentifier", - "src": "3884:9:13" - }, - { - "kind": "number", - "nativeSrc": "3895:2:13", - "nodeType": "YulLiteral", - "src": "3895:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3880:3:13", - "nodeType": "YulIdentifier", - "src": "3880:3:13" - }, - "nativeSrc": "3880:18:13", - "nodeType": "YulFunctionCall", - "src": "3880:18:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "3867:12:13", - "nodeType": "YulIdentifier", - "src": "3867:12:13" - }, - "nativeSrc": "3867:32:13", - "nodeType": "YulFunctionCall", - "src": "3867:32:13" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "3857:6:13", - "nodeType": "YulTypedName", - "src": "3857:6:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "3946:83:13", - "nodeType": "YulBlock", - "src": "3946:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "3948:77:13", - "nodeType": "YulIdentifier", - "src": "3948:77:13" - }, - "nativeSrc": "3948:79:13", - "nodeType": "YulFunctionCall", - "src": "3948:79:13" - }, - "nativeSrc": "3948:79:13", - "nodeType": "YulExpressionStatement", - "src": "3948:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "3918:6:13", - "nodeType": "YulIdentifier", - "src": "3918:6:13" - }, - { - "kind": "number", - "nativeSrc": "3926:18:13", - "nodeType": "YulLiteral", - "src": "3926:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "3915:2:13", - "nodeType": "YulIdentifier", - "src": "3915:2:13" - }, - "nativeSrc": "3915:30:13", - "nodeType": "YulFunctionCall", - "src": "3915:30:13" - }, - "nativeSrc": "3912:117:13", - "nodeType": "YulIf", - "src": "3912:117:13" - }, - { - "nativeSrc": "4043:98:13", - "nodeType": "YulAssignment", - "src": "4043:98:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4113:9:13", - "nodeType": "YulIdentifier", - "src": "4113:9:13" - }, - { - "name": "offset", - "nativeSrc": "4124:6:13", - "nodeType": "YulIdentifier", - "src": "4124:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4109:3:13", - "nodeType": "YulIdentifier", - "src": "4109:3:13" - }, - "nativeSrc": "4109:22:13", - "nodeType": "YulFunctionCall", - "src": "4109:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "4133:7:13", - "nodeType": "YulIdentifier", - "src": "4133:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", - "nativeSrc": "4061:47:13", - "nodeType": "YulIdentifier", - "src": "4061:47:13" - }, - "nativeSrc": "4061:80:13", - "nodeType": "YulFunctionCall", - "src": "4061:80:13" - }, - "variableNames": [ - { - "name": "value2", - "nativeSrc": "4043:6:13", - "nodeType": "YulIdentifier", - "src": "4043:6:13" - }, - { - "name": "value3", - "nativeSrc": "4051:6:13", - "nodeType": "YulIdentifier", - "src": "4051:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr", - "nativeSrc": "3162:996:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "3292:9:13", - "nodeType": "YulTypedName", - "src": "3292:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "3303:7:13", - "nodeType": "YulTypedName", - "src": "3303:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "3315:6:13", - "nodeType": "YulTypedName", - "src": "3315:6:13", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "3323:6:13", - "nodeType": "YulTypedName", - "src": "3323:6:13", - "type": "" - }, - { - "name": "value2", - "nativeSrc": "3331:6:13", - "nodeType": "YulTypedName", - "src": "3331:6:13", - "type": "" - }, - { - "name": "value3", - "nativeSrc": "3339:6:13", - "nodeType": "YulTypedName", - "src": "3339:6:13", - "type": "" - } - ], - "src": "3162:996:13" - }, - { - "body": { - "nativeSrc": "4206:48:13", - "nodeType": "YulBlock", - "src": "4206:48:13", - "statements": [ - { - "nativeSrc": "4216:32:13", - "nodeType": "YulAssignment", - "src": "4216:32:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "4241:5:13", - "nodeType": "YulIdentifier", - "src": "4241:5:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "4234:6:13", - "nodeType": "YulIdentifier", - "src": "4234:6:13" - }, - "nativeSrc": "4234:13:13", - "nodeType": "YulFunctionCall", - "src": "4234:13:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "4227:6:13", - "nodeType": "YulIdentifier", - "src": "4227:6:13" - }, - "nativeSrc": "4227:21:13", - "nodeType": "YulFunctionCall", - "src": "4227:21:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "4216:7:13", - "nodeType": "YulIdentifier", - "src": "4216:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_bool", - "nativeSrc": "4164:90:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "4188:5:13", - "nodeType": "YulTypedName", - "src": "4188:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "4198:7:13", - "nodeType": "YulTypedName", - "src": "4198:7:13", - "type": "" - } - ], - "src": "4164:90:13" - }, - { - "body": { - "nativeSrc": "4319:50:13", - "nodeType": "YulBlock", - "src": "4319:50:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "4336:3:13", - "nodeType": "YulIdentifier", - "src": "4336:3:13" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "4356:5:13", - "nodeType": "YulIdentifier", - "src": "4356:5:13" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nativeSrc": "4341:14:13", - "nodeType": "YulIdentifier", - "src": "4341:14:13" - }, - "nativeSrc": "4341:21:13", - "nodeType": "YulFunctionCall", - "src": "4341:21:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4329:6:13", - "nodeType": "YulIdentifier", - "src": "4329:6:13" - }, - "nativeSrc": "4329:34:13", - "nodeType": "YulFunctionCall", - "src": "4329:34:13" - }, - "nativeSrc": "4329:34:13", - "nodeType": "YulExpressionStatement", - "src": "4329:34:13" - } - ] - }, - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nativeSrc": "4260:109:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "4307:5:13", - "nodeType": "YulTypedName", - "src": "4307:5:13", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "4314:3:13", - "nodeType": "YulTypedName", - "src": "4314:3:13", - "type": "" - } - ], - "src": "4260:109:13" - }, - { - "body": { - "nativeSrc": "4467:118:13", - "nodeType": "YulBlock", - "src": "4467:118:13", - "statements": [ - { - "nativeSrc": "4477:26:13", - "nodeType": "YulAssignment", - "src": "4477:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4489:9:13", - "nodeType": "YulIdentifier", - "src": "4489:9:13" - }, - { - "kind": "number", - "nativeSrc": "4500:2:13", - "nodeType": "YulLiteral", - "src": "4500:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4485:3:13", - "nodeType": "YulIdentifier", - "src": "4485:3:13" - }, - "nativeSrc": "4485:18:13", - "nodeType": "YulFunctionCall", - "src": "4485:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "4477:4:13", - "nodeType": "YulIdentifier", - "src": "4477:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "4551:6:13", - "nodeType": "YulIdentifier", - "src": "4551:6:13" - }, - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "4564:9:13", - "nodeType": "YulIdentifier", - "src": "4564:9:13" - }, - { - "kind": "number", - "nativeSrc": "4575:1:13", - "nodeType": "YulLiteral", - "src": "4575:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4560:3:13", - "nodeType": "YulIdentifier", - "src": "4560:3:13" - }, - "nativeSrc": "4560:17:13", - "nodeType": "YulFunctionCall", - "src": "4560:17:13" - } - ], - "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nativeSrc": "4513:37:13", - "nodeType": "YulIdentifier", - "src": "4513:37:13" - }, - "nativeSrc": "4513:65:13", - "nodeType": "YulFunctionCall", - "src": "4513:65:13" - }, - "nativeSrc": "4513:65:13", - "nodeType": "YulExpressionStatement", - "src": "4513:65:13" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nativeSrc": "4375:210:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "4439:9:13", - "nodeType": "YulTypedName", - "src": "4439:9:13", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "4451:6:13", - "nodeType": "YulTypedName", - "src": "4451:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "4462:4:13", - "nodeType": "YulTypedName", - "src": "4462:4:13", - "type": "" - } - ], - "src": "4375:210:13" - }, - { - "body": { - "nativeSrc": "4680:28:13", - "nodeType": "YulBlock", - "src": "4680:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4697:1:13", - "nodeType": "YulLiteral", - "src": "4697:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "4700:1:13", - "nodeType": "YulLiteral", - "src": "4700:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "4690:6:13", - "nodeType": "YulIdentifier", - "src": "4690:6:13" - }, - "nativeSrc": "4690:12:13", - "nodeType": "YulFunctionCall", - "src": "4690:12:13" - }, - "nativeSrc": "4690:12:13", - "nodeType": "YulExpressionStatement", - "src": "4690:12:13" - } - ] - }, - "name": "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d", - "nativeSrc": "4591:117:13", - "nodeType": "YulFunctionDefinition", - "src": "4591:117:13" - }, - { - "body": { - "nativeSrc": "4823:153:13", - "nodeType": "YulBlock", - "src": "4823:153:13", - "statements": [ - { - "body": { - "nativeSrc": "4863:83:13", - "nodeType": "YulBlock", - "src": "4863:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d", - "nativeSrc": "4865:77:13", - "nodeType": "YulIdentifier", - "src": "4865:77:13" - }, - "nativeSrc": "4865:79:13", - "nodeType": "YulFunctionCall", - "src": "4865:79:13" - }, - "nativeSrc": "4865:79:13", - "nodeType": "YulExpressionStatement", - "src": "4865:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "end", - "nativeSrc": "4844:3:13", - "nodeType": "YulIdentifier", - "src": "4844:3:13" - }, - { - "name": "offset", - "nativeSrc": "4849:6:13", - "nodeType": "YulIdentifier", - "src": "4849:6:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "4840:3:13", - "nodeType": "YulIdentifier", - "src": "4840:3:13" - }, - "nativeSrc": "4840:16:13", - "nodeType": "YulFunctionCall", - "src": "4840:16:13" - }, - { - "kind": "number", - "nativeSrc": "4858:3:13", - "nodeType": "YulLiteral", - "src": "4858:3:13", - "type": "", - "value": "320" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "4836:3:13", - "nodeType": "YulIdentifier", - "src": "4836:3:13" - }, - "nativeSrc": "4836:26:13", - "nodeType": "YulFunctionCall", - "src": "4836:26:13" - }, - "nativeSrc": "4833:113:13", - "nodeType": "YulIf", - "src": "4833:113:13" - }, - { - "nativeSrc": "4955:15:13", - "nodeType": "YulAssignment", - "src": "4955:15:13", - "value": { - "name": "offset", - "nativeSrc": "4964:6:13", - "nodeType": "YulIdentifier", - "src": "4964:6:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "4955:5:13", - "nodeType": "YulIdentifier", - "src": "4955:5:13" - } - ] - } - ] - }, - "name": "abi_decode_t_struct$_Attestation_$1641_calldata_ptr", - "nativeSrc": "4740:236:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "4801:6:13", - "nodeType": "YulTypedName", - "src": "4801:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "4809:3:13", - "nodeType": "YulTypedName", - "src": "4809:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "4817:5:13", - "nodeType": "YulTypedName", - "src": "4817:5:13", - "type": "" - } - ], - "src": "4740:236:13" - }, - { - "body": { - "nativeSrc": "5079:454:13", - "nodeType": "YulBlock", - "src": "5079:454:13", - "statements": [ - { - "body": { - "nativeSrc": "5125:83:13", - "nodeType": "YulBlock", - "src": "5125:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "5127:77:13", - "nodeType": "YulIdentifier", - "src": "5127:77:13" - }, - "nativeSrc": "5127:79:13", - "nodeType": "YulFunctionCall", - "src": "5127:79:13" - }, - "nativeSrc": "5127:79:13", - "nodeType": "YulExpressionStatement", - "src": "5127:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "5100:7:13", - "nodeType": "YulIdentifier", - "src": "5100:7:13" - }, - { - "name": "headStart", - "nativeSrc": "5109:9:13", - "nodeType": "YulIdentifier", - "src": "5109:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "5096:3:13", - "nodeType": "YulIdentifier", - "src": "5096:3:13" - }, - "nativeSrc": "5096:23:13", - "nodeType": "YulFunctionCall", - "src": "5096:23:13" - }, - { - "kind": "number", - "nativeSrc": "5121:2:13", - "nodeType": "YulLiteral", - "src": "5121:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "5092:3:13", - "nodeType": "YulIdentifier", - "src": "5092:3:13" - }, - "nativeSrc": "5092:32:13", - "nodeType": "YulFunctionCall", - "src": "5092:32:13" - }, - "nativeSrc": "5089:119:13", - "nodeType": "YulIf", - "src": "5089:119:13" - }, - { - "nativeSrc": "5218:308:13", - "nodeType": "YulBlock", - "src": "5218:308:13", - "statements": [ - { - "nativeSrc": "5233:45:13", - "nodeType": "YulVariableDeclaration", - "src": "5233:45:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "5264:9:13", - "nodeType": "YulIdentifier", - "src": "5264:9:13" - }, - { - "kind": "number", - "nativeSrc": "5275:1:13", - "nodeType": "YulLiteral", - "src": "5275:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5260:3:13", - "nodeType": "YulIdentifier", - "src": "5260:3:13" - }, - "nativeSrc": "5260:17:13", - "nodeType": "YulFunctionCall", - "src": "5260:17:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "5247:12:13", - "nodeType": "YulIdentifier", - "src": "5247:12:13" - }, - "nativeSrc": "5247:31:13", - "nodeType": "YulFunctionCall", - "src": "5247:31:13" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "5237:6:13", - "nodeType": "YulTypedName", - "src": "5237:6:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "5325:83:13", - "nodeType": "YulBlock", - "src": "5325:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nativeSrc": "5327:77:13", - "nodeType": "YulIdentifier", - "src": "5327:77:13" - }, - "nativeSrc": "5327:79:13", - "nodeType": "YulFunctionCall", - "src": "5327:79:13" - }, - "nativeSrc": "5327:79:13", - "nodeType": "YulExpressionStatement", - "src": "5327:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "5297:6:13", - "nodeType": "YulIdentifier", - "src": "5297:6:13" - }, - { - "kind": "number", - "nativeSrc": "5305:18:13", - "nodeType": "YulLiteral", - "src": "5305:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "5294:2:13", - "nodeType": "YulIdentifier", - "src": "5294:2:13" - }, - "nativeSrc": "5294:30:13", - "nodeType": "YulFunctionCall", - "src": "5294:30:13" - }, - "nativeSrc": "5291:117:13", - "nodeType": "YulIf", - "src": "5291:117:13" - }, - { - "nativeSrc": "5422:94:13", - "nodeType": "YulAssignment", - "src": "5422:94:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "5488:9:13", - "nodeType": "YulIdentifier", - "src": "5488:9:13" - }, - { - "name": "offset", - "nativeSrc": "5499:6:13", - "nodeType": "YulIdentifier", - "src": "5499:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "5484:3:13", - "nodeType": "YulIdentifier", - "src": "5484:3:13" - }, - "nativeSrc": "5484:22:13", - "nodeType": "YulFunctionCall", - "src": "5484:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "5508:7:13", - "nodeType": "YulIdentifier", - "src": "5508:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_struct$_Attestation_$1641_calldata_ptr", - "nativeSrc": "5432:51:13", - "nodeType": "YulIdentifier", - "src": "5432:51:13" - }, - "nativeSrc": "5432:84:13", - "nodeType": "YulFunctionCall", - "src": "5432:84:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "5422:6:13", - "nodeType": "YulIdentifier", - "src": "5422:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr", - "nativeSrc": "4982:551:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "5049:9:13", - "nodeType": "YulTypedName", - "src": "5049:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "5060:7:13", - "nodeType": "YulTypedName", - "src": "5060:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "5072:6:13", - "nodeType": "YulTypedName", - "src": "5072:6:13", - "type": "" - } - ], - "src": "4982:551:13" - }, - { - "body": { - "nativeSrc": "5653:34:13", - "nodeType": "YulBlock", - "src": "5653:34:13", - "statements": [ - { - "nativeSrc": "5663:18:13", - "nodeType": "YulAssignment", - "src": "5663:18:13", - "value": { - "name": "pos", - "nativeSrc": "5678:3:13", - "nodeType": "YulIdentifier", - "src": "5678:3:13" - }, - "variableNames": [ - { - "name": "updated_pos", - "nativeSrc": "5663:11:13", - "nodeType": "YulIdentifier", - "src": "5663:11:13" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5539:148:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "5625:3:13", - "nodeType": "YulTypedName", - "src": "5625:3:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "5630:6:13", - "nodeType": "YulTypedName", - "src": "5630:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nativeSrc": "5641:11:13", - "nodeType": "YulTypedName", - "src": "5641:11:13", - "type": "" - } - ], - "src": "5539:148:13" - }, - { - "body": { - "nativeSrc": "5803:280:13", - "nodeType": "YulBlock", - "src": "5803:280:13", - "statements": [ - { - "nativeSrc": "5813:53:13", - "nodeType": "YulVariableDeclaration", - "src": "5813:53:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "5860:5:13", - "nodeType": "YulIdentifier", - "src": "5860:5:13" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nativeSrc": "5827:32:13", - "nodeType": "YulIdentifier", - "src": "5827:32:13" - }, - "nativeSrc": "5827:39:13", - "nodeType": "YulFunctionCall", - "src": "5827:39:13" - }, - "variables": [ - { - "name": "length", - "nativeSrc": "5817:6:13", - "nodeType": "YulTypedName", - "src": "5817:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "5875:96:13", - "nodeType": "YulAssignment", - "src": "5875:96:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "5959:3:13", - "nodeType": "YulIdentifier", - "src": "5959:3:13" - }, - { - "name": "length", - "nativeSrc": "5964:6:13", - "nodeType": "YulIdentifier", - "src": "5964:6:13" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5882:76:13", - "nodeType": "YulIdentifier", - "src": "5882:76:13" - }, - "nativeSrc": "5882:89:13", - "nodeType": "YulFunctionCall", - "src": "5882:89:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "5875:3:13", - "nodeType": "YulIdentifier", - "src": "5875:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "6019:5:13", - "nodeType": "YulIdentifier", - "src": "6019:5:13" - }, - { - "kind": "number", - "nativeSrc": "6026:4:13", - "nodeType": "YulLiteral", - "src": "6026:4:13", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6015:3:13", - "nodeType": "YulIdentifier", - "src": "6015:3:13" - }, - "nativeSrc": "6015:16:13", - "nodeType": "YulFunctionCall", - "src": "6015:16:13" - }, - { - "name": "pos", - "nativeSrc": "6033:3:13", - "nodeType": "YulIdentifier", - "src": "6033:3:13" - }, - { - "name": "length", - "nativeSrc": "6038:6:13", - "nodeType": "YulIdentifier", - "src": "6038:6:13" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "5980:34:13", - "nodeType": "YulIdentifier", - "src": "5980:34:13" - }, - "nativeSrc": "5980:65:13", - "nodeType": "YulFunctionCall", - "src": "5980:65:13" - }, - "nativeSrc": "5980:65:13", - "nodeType": "YulExpressionStatement", - "src": "5980:65:13" - }, - { - "nativeSrc": "6054:23:13", - "nodeType": "YulAssignment", - "src": "6054:23:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6065:3:13", - "nodeType": "YulIdentifier", - "src": "6065:3:13" - }, - { - "name": "length", - "nativeSrc": "6070:6:13", - "nodeType": "YulIdentifier", - "src": "6070:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6061:3:13", - "nodeType": "YulIdentifier", - "src": "6061:3:13" - }, - "nativeSrc": "6061:16:13", - "nodeType": "YulFunctionCall", - "src": "6061:16:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "6054:3:13", - "nodeType": "YulIdentifier", - "src": "6054:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "5693:390:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "5784:5:13", - "nodeType": "YulTypedName", - "src": "5784:5:13", - "type": "" - }, - { - "name": "pos", - "nativeSrc": "5791:3:13", - "nodeType": "YulTypedName", - "src": "5791:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "5799:3:13", - "nodeType": "YulTypedName", - "src": "5799:3:13", - "type": "" - } - ], - "src": "5693:390:13" - }, - { - "body": { - "nativeSrc": "6195:45:13", - "nodeType": "YulBlock", - "src": "6195:45:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "6217:6:13", - "nodeType": "YulIdentifier", - "src": "6217:6:13" - }, - { - "kind": "number", - "nativeSrc": "6225:1:13", - "nodeType": "YulLiteral", - "src": "6225:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6213:3:13", - "nodeType": "YulIdentifier", - "src": "6213:3:13" - }, - "nativeSrc": "6213:14:13", - "nodeType": "YulFunctionCall", - "src": "6213:14:13" - }, - { - "hexValue": "2e", - "kind": "string", - "nativeSrc": "6229:3:13", - "nodeType": "YulLiteral", - "src": "6229:3:13", - "type": "", - "value": "." - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "6206:6:13", - "nodeType": "YulIdentifier", - "src": "6206:6:13" - }, - "nativeSrc": "6206:27:13", - "nodeType": "YulFunctionCall", - "src": "6206:27:13" - }, - "nativeSrc": "6206:27:13", - "nodeType": "YulExpressionStatement", - "src": "6206:27:13" - } - ] - }, - "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "nativeSrc": "6089:151:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "6187:6:13", - "nodeType": "YulTypedName", - "src": "6187:6:13", - "type": "" - } - ], - "src": "6089:151:13" - }, - { - "body": { - "nativeSrc": "6410:236:13", - "nodeType": "YulBlock", - "src": "6410:236:13", - "statements": [ - { - "nativeSrc": "6420:91:13", - "nodeType": "YulAssignment", - "src": "6420:91:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6504:3:13", - "nodeType": "YulIdentifier", - "src": "6504:3:13" - }, - { - "kind": "number", - "nativeSrc": "6509:1:13", - "nodeType": "YulLiteral", - "src": "6509:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "6427:76:13", - "nodeType": "YulIdentifier", - "src": "6427:76:13" - }, - "nativeSrc": "6427:84:13", - "nodeType": "YulFunctionCall", - "src": "6427:84:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "6420:3:13", - "nodeType": "YulIdentifier", - "src": "6420:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6609:3:13", - "nodeType": "YulIdentifier", - "src": "6609:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "nativeSrc": "6520:88:13", - "nodeType": "YulIdentifier", - "src": "6520:88:13" - }, - "nativeSrc": "6520:93:13", - "nodeType": "YulFunctionCall", - "src": "6520:93:13" - }, - "nativeSrc": "6520:93:13", - "nodeType": "YulExpressionStatement", - "src": "6520:93:13" - }, - { - "nativeSrc": "6622:18:13", - "nodeType": "YulAssignment", - "src": "6622:18:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "6633:3:13", - "nodeType": "YulIdentifier", - "src": "6633:3:13" - }, - { - "kind": "number", - "nativeSrc": "6638:1:13", - "nodeType": "YulLiteral", - "src": "6638:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6629:3:13", - "nodeType": "YulIdentifier", - "src": "6629:3:13" - }, - "nativeSrc": "6629:11:13", - "nodeType": "YulFunctionCall", - "src": "6629:11:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "6622:3:13", - "nodeType": "YulIdentifier", - "src": "6622:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "6246:400:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "6398:3:13", - "nodeType": "YulTypedName", - "src": "6398:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "6406:3:13", - "nodeType": "YulTypedName", - "src": "6406:3:13", - "type": "" - } - ], - "src": "6246:400:13" - }, - { - "body": { - "nativeSrc": "7086:693:13", - "nodeType": "YulBlock", - "src": "7086:693:13", - "statements": [ - { - "nativeSrc": "7097:102:13", - "nodeType": "YulAssignment", - "src": "7097:102:13", - "value": { - "arguments": [ - { - "name": "value0", - "nativeSrc": "7186:6:13", - "nodeType": "YulIdentifier", - "src": "7186:6:13" - }, - { - "name": "pos", - "nativeSrc": "7195:3:13", - "nodeType": "YulIdentifier", - "src": "7195:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7104:81:13", - "nodeType": "YulIdentifier", - "src": "7104:81:13" - }, - "nativeSrc": "7104:95:13", - "nodeType": "YulFunctionCall", - "src": "7104:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7097:3:13", - "nodeType": "YulIdentifier", - "src": "7097:3:13" - } - ] - }, - { - "nativeSrc": "7209:155:13", - "nodeType": "YulAssignment", - "src": "7209:155:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "7360:3:13", - "nodeType": "YulIdentifier", - "src": "7360:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7216:142:13", - "nodeType": "YulIdentifier", - "src": "7216:142:13" - }, - "nativeSrc": "7216:148:13", - "nodeType": "YulFunctionCall", - "src": "7216:148:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7209:3:13", - "nodeType": "YulIdentifier", - "src": "7209:3:13" - } - ] - }, - { - "nativeSrc": "7374:102:13", - "nodeType": "YulAssignment", - "src": "7374:102:13", - "value": { - "arguments": [ - { - "name": "value1", - "nativeSrc": "7463:6:13", - "nodeType": "YulIdentifier", - "src": "7463:6:13" - }, - { - "name": "pos", - "nativeSrc": "7472:3:13", - "nodeType": "YulIdentifier", - "src": "7472:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7381:81:13", - "nodeType": "YulIdentifier", - "src": "7381:81:13" - }, - "nativeSrc": "7381:95:13", - "nodeType": "YulFunctionCall", - "src": "7381:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7374:3:13", - "nodeType": "YulIdentifier", - "src": "7374:3:13" - } - ] - }, - { - "nativeSrc": "7486:155:13", - "nodeType": "YulAssignment", - "src": "7486:155:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "7637:3:13", - "nodeType": "YulIdentifier", - "src": "7637:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7493:142:13", - "nodeType": "YulIdentifier", - "src": "7493:142:13" - }, - "nativeSrc": "7493:148:13", - "nodeType": "YulFunctionCall", - "src": "7493:148:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7486:3:13", - "nodeType": "YulIdentifier", - "src": "7486:3:13" - } - ] - }, - { - "nativeSrc": "7651:102:13", - "nodeType": "YulAssignment", - "src": "7651:102:13", - "value": { - "arguments": [ - { - "name": "value2", - "nativeSrc": "7740:6:13", - "nodeType": "YulIdentifier", - "src": "7740:6:13" - }, - { - "name": "pos", - "nativeSrc": "7749:3:13", - "nodeType": "YulIdentifier", - "src": "7749:3:13" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nativeSrc": "7658:81:13", - "nodeType": "YulIdentifier", - "src": "7658:81:13" - }, - "nativeSrc": "7658:95:13", - "nodeType": "YulFunctionCall", - "src": "7658:95:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "7651:3:13", - "nodeType": "YulIdentifier", - "src": "7651:3:13" - } - ] - }, - { - "nativeSrc": "7763:10:13", - "nodeType": "YulAssignment", - "src": "7763:10:13", - "value": { - "name": "pos", - "nativeSrc": "7770:3:13", - "nodeType": "YulIdentifier", - "src": "7770:3:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "7763:3:13", - "nodeType": "YulIdentifier", - "src": "7763:3:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "6652:1127:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "7049:3:13", - "nodeType": "YulTypedName", - "src": "7049:3:13", - "type": "" - }, - { - "name": "value2", - "nativeSrc": "7055:6:13", - "nodeType": "YulTypedName", - "src": "7055:6:13", - "type": "" - }, - { - "name": "value1", - "nativeSrc": "7063:6:13", - "nodeType": "YulTypedName", - "src": "7063:6:13", - "type": "" - }, - { - "name": "value0", - "nativeSrc": "7071:6:13", - "nodeType": "YulTypedName", - "src": "7071:6:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "7082:3:13", - "nodeType": "YulTypedName", - "src": "7082:3:13", - "type": "" - } - ], - "src": "6652:1127:13" - }, - { - "body": { - "nativeSrc": "7813:152:13", - "nodeType": "YulBlock", - "src": "7813:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7830:1:13", - "nodeType": "YulLiteral", - "src": "7830:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "7833:77:13", - "nodeType": "YulLiteral", - "src": "7833:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7823:6:13", - "nodeType": "YulIdentifier", - "src": "7823:6:13" - }, - "nativeSrc": "7823:88:13", - "nodeType": "YulFunctionCall", - "src": "7823:88:13" - }, - "nativeSrc": "7823:88:13", - "nodeType": "YulExpressionStatement", - "src": "7823:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7927:1:13", - "nodeType": "YulLiteral", - "src": "7927:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "7930:4:13", - "nodeType": "YulLiteral", - "src": "7930:4:13", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7920:6:13", - "nodeType": "YulIdentifier", - "src": "7920:6:13" - }, - "nativeSrc": "7920:15:13", - "nodeType": "YulFunctionCall", - "src": "7920:15:13" - }, - "nativeSrc": "7920:15:13", - "nodeType": "YulExpressionStatement", - "src": "7920:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7951:1:13", - "nodeType": "YulLiteral", - "src": "7951:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "7954:4:13", - "nodeType": "YulLiteral", - "src": "7954:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "7944:6:13", - "nodeType": "YulIdentifier", - "src": "7944:6:13" - }, - "nativeSrc": "7944:15:13", - "nodeType": "YulFunctionCall", - "src": "7944:15:13" - }, - "nativeSrc": "7944:15:13", - "nodeType": "YulExpressionStatement", - "src": "7944:15:13" - } - ] - }, - "name": "panic_error_0x32", - "nativeSrc": "7785:180:13", - "nodeType": "YulFunctionDefinition", - "src": "7785:180:13" - }, - { - "body": { - "nativeSrc": "8060:28:13", - "nodeType": "YulBlock", - "src": "8060:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8077:1:13", - "nodeType": "YulLiteral", - "src": "8077:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8080:1:13", - "nodeType": "YulLiteral", - "src": "8080:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "8070:6:13", - "nodeType": "YulIdentifier", - "src": "8070:6:13" - }, - "nativeSrc": "8070:12:13", - "nodeType": "YulFunctionCall", - "src": "8070:12:13" - }, - "nativeSrc": "8070:12:13", - "nodeType": "YulExpressionStatement", - "src": "8070:12:13" - } - ] - }, - "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", - "nativeSrc": "7971:117:13", - "nodeType": "YulFunctionDefinition", - "src": "7971:117:13" - }, - { - "body": { - "nativeSrc": "8183:28:13", - "nodeType": "YulBlock", - "src": "8183:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8200:1:13", - "nodeType": "YulLiteral", - "src": "8200:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8203:1:13", - "nodeType": "YulLiteral", - "src": "8203:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "8193:6:13", - "nodeType": "YulIdentifier", - "src": "8193:6:13" - }, - "nativeSrc": "8193:12:13", - "nodeType": "YulFunctionCall", - "src": "8193:12:13" - }, - "nativeSrc": "8193:12:13", - "nodeType": "YulExpressionStatement", - "src": "8193:12:13" - } - ] - }, - "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", - "nativeSrc": "8094:117:13", - "nodeType": "YulFunctionDefinition", - "src": "8094:117:13" - }, - { - "body": { - "nativeSrc": "8306:28:13", - "nodeType": "YulBlock", - "src": "8306:28:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8323:1:13", - "nodeType": "YulLiteral", - "src": "8323:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8326:1:13", - "nodeType": "YulLiteral", - "src": "8326:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "8316:6:13", - "nodeType": "YulIdentifier", - "src": "8316:6:13" - }, - "nativeSrc": "8316:12:13", - "nodeType": "YulFunctionCall", - "src": "8316:12:13" - }, - "nativeSrc": "8316:12:13", - "nodeType": "YulExpressionStatement", - "src": "8316:12:13" - } - ] - }, - "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", - "nativeSrc": "8217:117:13", - "nodeType": "YulFunctionDefinition", - "src": "8217:117:13" - }, - { - "body": { - "nativeSrc": "8442:297:13", - "nodeType": "YulBlock", - "src": "8442:297:13", - "statements": [ - { - "nativeSrc": "8452:51:13", - "nodeType": "YulVariableDeclaration", - "src": "8452:51:13", - "value": { - "arguments": [ - { - "name": "ptr_to_tail", - "nativeSrc": "8491:11:13", - "nodeType": "YulIdentifier", - "src": "8491:11:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "8478:12:13", - "nodeType": "YulIdentifier", - "src": "8478:12:13" - }, - "nativeSrc": "8478:25:13", - "nodeType": "YulFunctionCall", - "src": "8478:25:13" - }, - "variables": [ - { - "name": "rel_offset_of_tail", - "nativeSrc": "8456:18:13", - "nodeType": "YulTypedName", - "src": "8456:18:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "8599:83:13", - "nodeType": "YulBlock", - "src": "8599:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", - "nativeSrc": "8601:77:13", - "nodeType": "YulIdentifier", - "src": "8601:77:13" - }, - "nativeSrc": "8601:79:13", - "nodeType": "YulFunctionCall", - "src": "8601:79:13" - }, - "nativeSrc": "8601:79:13", - "nodeType": "YulExpressionStatement", - "src": "8601:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "rel_offset_of_tail", - "nativeSrc": "8526:18:13", - "nodeType": "YulIdentifier", - "src": "8526:18:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nativeSrc": "8554:12:13", - "nodeType": "YulIdentifier", - "src": "8554:12:13" - }, - "nativeSrc": "8554:14:13", - "nodeType": "YulFunctionCall", - "src": "8554:14:13" - }, - { - "name": "base_ref", - "nativeSrc": "8570:8:13", - "nodeType": "YulIdentifier", - "src": "8570:8:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "8550:3:13", - "nodeType": "YulIdentifier", - "src": "8550:3:13" - }, - "nativeSrc": "8550:29:13", - "nodeType": "YulFunctionCall", - "src": "8550:29:13" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8585:6:13", - "nodeType": "YulLiteral", - "src": "8585:6:13", - "type": "", - "value": "0x0140" - }, - { - "kind": "number", - "nativeSrc": "8593:1:13", - "nodeType": "YulLiteral", - "src": "8593:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "8581:3:13", - "nodeType": "YulIdentifier", - "src": "8581:3:13" - }, - "nativeSrc": "8581:14:13", - "nodeType": "YulFunctionCall", - "src": "8581:14:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "8546:3:13", - "nodeType": "YulIdentifier", - "src": "8546:3:13" - }, - "nativeSrc": "8546:50:13", - "nodeType": "YulFunctionCall", - "src": "8546:50:13" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "8522:3:13", - "nodeType": "YulIdentifier", - "src": "8522:3:13" - }, - "nativeSrc": "8522:75:13", - "nodeType": "YulFunctionCall", - "src": "8522:75:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "8515:6:13", - "nodeType": "YulIdentifier", - "src": "8515:6:13" - }, - "nativeSrc": "8515:83:13", - "nodeType": "YulFunctionCall", - "src": "8515:83:13" - }, - "nativeSrc": "8512:170:13", - "nodeType": "YulIf", - "src": "8512:170:13" - }, - { - "nativeSrc": "8691:41:13", - "nodeType": "YulAssignment", - "src": "8691:41:13", - "value": { - "arguments": [ - { - "name": "base_ref", - "nativeSrc": "8703:8:13", - "nodeType": "YulIdentifier", - "src": "8703:8:13" - }, - { - "name": "rel_offset_of_tail", - "nativeSrc": "8713:18:13", - "nodeType": "YulIdentifier", - "src": "8713:18:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "8699:3:13", - "nodeType": "YulIdentifier", - "src": "8699:3:13" - }, - "nativeSrc": "8699:33:13", - "nodeType": "YulFunctionCall", - "src": "8699:33:13" - }, - "variableNames": [ - { - "name": "addr", - "nativeSrc": "8691:4:13", - "nodeType": "YulIdentifier", - "src": "8691:4:13" - } - ] - } - ] - }, - "name": "access_calldata_tail_t_struct$_Attestation_$1641_calldata_ptr", - "nativeSrc": "8340:399:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base_ref", - "nativeSrc": "8411:8:13", - "nodeType": "YulTypedName", - "src": "8411:8:13", - "type": "" - }, - { - "name": "ptr_to_tail", - "nativeSrc": "8421:11:13", - "nodeType": "YulTypedName", - "src": "8421:11:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "addr", - "nativeSrc": "8437:4:13", - "nodeType": "YulTypedName", - "src": "8437:4:13", - "type": "" - } - ], - "src": "8340:399:13" - }, - { - "body": { - "nativeSrc": "8773:152:13", - "nodeType": "YulBlock", - "src": "8773:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8790:1:13", - "nodeType": "YulLiteral", - "src": "8790:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8793:77:13", - "nodeType": "YulLiteral", - "src": "8793:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8783:6:13", - "nodeType": "YulIdentifier", - "src": "8783:6:13" - }, - "nativeSrc": "8783:88:13", - "nodeType": "YulFunctionCall", - "src": "8783:88:13" - }, - "nativeSrc": "8783:88:13", - "nodeType": "YulExpressionStatement", - "src": "8783:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8887:1:13", - "nodeType": "YulLiteral", - "src": "8887:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "8890:4:13", - "nodeType": "YulLiteral", - "src": "8890:4:13", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8880:6:13", - "nodeType": "YulIdentifier", - "src": "8880:6:13" - }, - "nativeSrc": "8880:15:13", - "nodeType": "YulFunctionCall", - "src": "8880:15:13" - }, - "nativeSrc": "8880:15:13", - "nodeType": "YulExpressionStatement", - "src": "8880:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8911:1:13", - "nodeType": "YulLiteral", - "src": "8911:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8914:4:13", - "nodeType": "YulLiteral", - "src": "8914:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "8904:6:13", - "nodeType": "YulIdentifier", - "src": "8904:6:13" - }, - "nativeSrc": "8904:15:13", - "nodeType": "YulFunctionCall", - "src": "8904:15:13" - }, - "nativeSrc": "8904:15:13", - "nodeType": "YulExpressionStatement", - "src": "8904:15:13" - } - ] - }, - "name": "panic_error_0x41", - "nativeSrc": "8745:180:13", - "nodeType": "YulFunctionDefinition", - "src": "8745:180:13" - }, - { - "body": { - "nativeSrc": "8959:152:13", - "nodeType": "YulBlock", - "src": "8959:152:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "8976:1:13", - "nodeType": "YulLiteral", - "src": "8976:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "8979:77:13", - "nodeType": "YulLiteral", - "src": "8979:77:13", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "8969:6:13", - "nodeType": "YulIdentifier", - "src": "8969:6:13" - }, - "nativeSrc": "8969:88:13", - "nodeType": "YulFunctionCall", - "src": "8969:88:13" - }, - "nativeSrc": "8969:88:13", - "nodeType": "YulExpressionStatement", - "src": "8969:88:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "9073:1:13", - "nodeType": "YulLiteral", - "src": "9073:1:13", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nativeSrc": "9076:4:13", - "nodeType": "YulLiteral", - "src": "9076:4:13", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "9066:6:13", - "nodeType": "YulIdentifier", - "src": "9066:6:13" - }, - "nativeSrc": "9066:15:13", - "nodeType": "YulFunctionCall", - "src": "9066:15:13" - }, - "nativeSrc": "9066:15:13", - "nodeType": "YulExpressionStatement", - "src": "9066:15:13" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "9097:1:13", - "nodeType": "YulLiteral", - "src": "9097:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "9100:4:13", - "nodeType": "YulLiteral", - "src": "9100:4:13", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "9090:6:13", - "nodeType": "YulIdentifier", - "src": "9090:6:13" - }, - "nativeSrc": "9090:15:13", - "nodeType": "YulFunctionCall", - "src": "9090:15:13" - }, - "nativeSrc": "9090:15:13", - "nodeType": "YulExpressionStatement", - "src": "9090:15:13" - } - ] - }, - "name": "panic_error_0x12", - "nativeSrc": "8931:180:13", - "nodeType": "YulFunctionDefinition", - "src": "8931:180:13" - }, - { - "body": { - "nativeSrc": "9162:81:13", - "nodeType": "YulBlock", - "src": "9162:81:13", - "statements": [ - { - "nativeSrc": "9172:65:13", - "nodeType": "YulAssignment", - "src": "9172:65:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "9187:5:13", - "nodeType": "YulIdentifier", - "src": "9187:5:13" - }, - { - "kind": "number", - "nativeSrc": "9194:42:13", - "nodeType": "YulLiteral", - "src": "9194:42:13", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "9183:3:13", - "nodeType": "YulIdentifier", - "src": "9183:3:13" - }, - "nativeSrc": "9183:54:13", - "nodeType": "YulFunctionCall", - "src": "9183:54:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "9172:7:13", - "nodeType": "YulIdentifier", - "src": "9172:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nativeSrc": "9117:126:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "9144:5:13", - "nodeType": "YulTypedName", - "src": "9144:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "9154:7:13", - "nodeType": "YulTypedName", - "src": "9154:7:13", - "type": "" - } - ], - "src": "9117:126:13" - }, - { - "body": { - "nativeSrc": "9294:51:13", - "nodeType": "YulBlock", - "src": "9294:51:13", - "statements": [ - { - "nativeSrc": "9304:35:13", - "nodeType": "YulAssignment", - "src": "9304:35:13", - "value": { - "arguments": [ - { - "name": "value", - "nativeSrc": "9333:5:13", - "nodeType": "YulIdentifier", - "src": "9333:5:13" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nativeSrc": "9315:17:13", - "nodeType": "YulIdentifier", - "src": "9315:17:13" - }, - "nativeSrc": "9315:24:13", - "nodeType": "YulFunctionCall", - "src": "9315:24:13" - }, - "variableNames": [ - { - "name": "cleaned", - "nativeSrc": "9304:7:13", - "nodeType": "YulIdentifier", - "src": "9304:7:13" - } - ] - } - ] - }, - "name": "cleanup_t_address", - "nativeSrc": "9249:96:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "9276:5:13", - "nodeType": "YulTypedName", - "src": "9276:5:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nativeSrc": "9286:7:13", - "nodeType": "YulTypedName", - "src": "9286:7:13", - "type": "" - } - ], - "src": "9249:96:13" - }, - { - "body": { - "nativeSrc": "9394:79:13", - "nodeType": "YulBlock", - "src": "9394:79:13", - "statements": [ - { - "body": { - "nativeSrc": "9451:16:13", - "nodeType": "YulBlock", - "src": "9451:16:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "9460:1:13", - "nodeType": "YulLiteral", - "src": "9460:1:13", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "9463:1:13", - "nodeType": "YulLiteral", - "src": "9463:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "9453:6:13", - "nodeType": "YulIdentifier", - "src": "9453:6:13" - }, - "nativeSrc": "9453:12:13", - "nodeType": "YulFunctionCall", - "src": "9453:12:13" - }, - "nativeSrc": "9453:12:13", - "nodeType": "YulExpressionStatement", - "src": "9453:12:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "9417:5:13", - "nodeType": "YulIdentifier", - "src": "9417:5:13" - }, - { - "arguments": [ - { - "name": "value", - "nativeSrc": "9442:5:13", - "nodeType": "YulIdentifier", - "src": "9442:5:13" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nativeSrc": "9424:17:13", - "nodeType": "YulIdentifier", - "src": "9424:17:13" - }, - "nativeSrc": "9424:24:13", - "nodeType": "YulFunctionCall", - "src": "9424:24:13" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "9414:2:13", - "nodeType": "YulIdentifier", - "src": "9414:2:13" - }, - "nativeSrc": "9414:35:13", - "nodeType": "YulFunctionCall", - "src": "9414:35:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "9407:6:13", - "nodeType": "YulIdentifier", - "src": "9407:6:13" - }, - "nativeSrc": "9407:43:13", - "nodeType": "YulFunctionCall", - "src": "9407:43:13" - }, - "nativeSrc": "9404:63:13", - "nodeType": "YulIf", - "src": "9404:63:13" - } - ] - }, - "name": "validator_revert_t_address", - "nativeSrc": "9351:122:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "9387:5:13", - "nodeType": "YulTypedName", - "src": "9387:5:13", - "type": "" - } - ], - "src": "9351:122:13" - }, - { - "body": { - "nativeSrc": "9531:87:13", - "nodeType": "YulBlock", - "src": "9531:87:13", - "statements": [ - { - "nativeSrc": "9541:29:13", - "nodeType": "YulAssignment", - "src": "9541:29:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "9563:6:13", - "nodeType": "YulIdentifier", - "src": "9563:6:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "9550:12:13", - "nodeType": "YulIdentifier", - "src": "9550:12:13" - }, - "nativeSrc": "9550:20:13", - "nodeType": "YulFunctionCall", - "src": "9550:20:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "9541:5:13", - "nodeType": "YulIdentifier", - "src": "9541:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nativeSrc": "9606:5:13", - "nodeType": "YulIdentifier", - "src": "9606:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nativeSrc": "9579:26:13", - "nodeType": "YulIdentifier", - "src": "9579:26:13" - }, - "nativeSrc": "9579:33:13", - "nodeType": "YulFunctionCall", - "src": "9579:33:13" - }, - "nativeSrc": "9579:33:13", - "nodeType": "YulExpressionStatement", - "src": "9579:33:13" - } - ] - }, - "name": "abi_decode_t_address", - "nativeSrc": "9479:139:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "9509:6:13", - "nodeType": "YulTypedName", - "src": "9509:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "9517:3:13", - "nodeType": "YulTypedName", - "src": "9517:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "9525:5:13", - "nodeType": "YulTypedName", - "src": "9525:5:13", - "type": "" - } - ], - "src": "9479:139:13" - }, - { - "body": { - "nativeSrc": "9690:263:13", - "nodeType": "YulBlock", - "src": "9690:263:13", - "statements": [ - { - "body": { - "nativeSrc": "9736:83:13", - "nodeType": "YulBlock", - "src": "9736:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "9738:77:13", - "nodeType": "YulIdentifier", - "src": "9738:77:13" - }, - "nativeSrc": "9738:79:13", - "nodeType": "YulFunctionCall", - "src": "9738:79:13" - }, - "nativeSrc": "9738:79:13", - "nodeType": "YulExpressionStatement", - "src": "9738:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "9711:7:13", - "nodeType": "YulIdentifier", - "src": "9711:7:13" - }, - { - "name": "headStart", - "nativeSrc": "9720:9:13", - "nodeType": "YulIdentifier", - "src": "9720:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "9707:3:13", - "nodeType": "YulIdentifier", - "src": "9707:3:13" - }, - "nativeSrc": "9707:23:13", - "nodeType": "YulFunctionCall", - "src": "9707:23:13" - }, - { - "kind": "number", - "nativeSrc": "9732:2:13", - "nodeType": "YulLiteral", - "src": "9732:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "9703:3:13", - "nodeType": "YulIdentifier", - "src": "9703:3:13" - }, - "nativeSrc": "9703:32:13", - "nodeType": "YulFunctionCall", - "src": "9703:32:13" - }, - "nativeSrc": "9700:119:13", - "nodeType": "YulIf", - "src": "9700:119:13" - }, - { - "nativeSrc": "9829:117:13", - "nodeType": "YulBlock", - "src": "9829:117:13", - "statements": [ - { - "nativeSrc": "9844:15:13", - "nodeType": "YulVariableDeclaration", - "src": "9844:15:13", - "value": { - "kind": "number", - "nativeSrc": "9858:1:13", - "nodeType": "YulLiteral", - "src": "9858:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "9848:6:13", - "nodeType": "YulTypedName", - "src": "9848:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "9873:63:13", - "nodeType": "YulAssignment", - "src": "9873:63:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "9908:9:13", - "nodeType": "YulIdentifier", - "src": "9908:9:13" - }, - { - "name": "offset", - "nativeSrc": "9919:6:13", - "nodeType": "YulIdentifier", - "src": "9919:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "9904:3:13", - "nodeType": "YulIdentifier", - "src": "9904:3:13" - }, - "nativeSrc": "9904:22:13", - "nodeType": "YulFunctionCall", - "src": "9904:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "9928:7:13", - "nodeType": "YulIdentifier", - "src": "9928:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nativeSrc": "9883:20:13", - "nodeType": "YulIdentifier", - "src": "9883:20:13" - }, - "nativeSrc": "9883:53:13", - "nodeType": "YulFunctionCall", - "src": "9883:53:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "9873:6:13", - "nodeType": "YulIdentifier", - "src": "9873:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nativeSrc": "9624:329:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "9660:9:13", - "nodeType": "YulTypedName", - "src": "9660:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "9671:7:13", - "nodeType": "YulTypedName", - "src": "9671:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "9683:6:13", - "nodeType": "YulTypedName", - "src": "9683:6:13", - "type": "" - } - ], - "src": "9624:329:13" - }, - { - "body": { - "nativeSrc": "10049:634:13", - "nodeType": "YulBlock", - "src": "10049:634:13", - "statements": [ - { - "nativeSrc": "10059:51:13", - "nodeType": "YulVariableDeclaration", - "src": "10059:51:13", - "value": { - "arguments": [ - { - "name": "ptr_to_tail", - "nativeSrc": "10098:11:13", - "nodeType": "YulIdentifier", - "src": "10098:11:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "10085:12:13", - "nodeType": "YulIdentifier", - "src": "10085:12:13" - }, - "nativeSrc": "10085:25:13", - "nodeType": "YulFunctionCall", - "src": "10085:25:13" - }, - "variables": [ - { - "name": "rel_offset_of_tail", - "nativeSrc": "10063:18:13", - "nodeType": "YulTypedName", - "src": "10063:18:13", - "type": "" - } - ] - }, - { - "body": { - "nativeSrc": "10204:83:13", - "nodeType": "YulBlock", - "src": "10204:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", - "nativeSrc": "10206:77:13", - "nodeType": "YulIdentifier", - "src": "10206:77:13" - }, - "nativeSrc": "10206:79:13", - "nodeType": "YulFunctionCall", - "src": "10206:79:13" - }, - "nativeSrc": "10206:79:13", - "nodeType": "YulExpressionStatement", - "src": "10206:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "rel_offset_of_tail", - "nativeSrc": "10133:18:13", - "nodeType": "YulIdentifier", - "src": "10133:18:13" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nativeSrc": "10161:12:13", - "nodeType": "YulIdentifier", - "src": "10161:12:13" - }, - "nativeSrc": "10161:14:13", - "nodeType": "YulFunctionCall", - "src": "10161:14:13" - }, - { - "name": "base_ref", - "nativeSrc": "10177:8:13", - "nodeType": "YulIdentifier", - "src": "10177:8:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10157:3:13", - "nodeType": "YulIdentifier", - "src": "10157:3:13" - }, - "nativeSrc": "10157:29:13", - "nodeType": "YulFunctionCall", - "src": "10157:29:13" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "10192:4:13", - "nodeType": "YulLiteral", - "src": "10192:4:13", - "type": "", - "value": "0x20" - }, - { - "kind": "number", - "nativeSrc": "10198:1:13", - "nodeType": "YulLiteral", - "src": "10198:1:13", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10188:3:13", - "nodeType": "YulIdentifier", - "src": "10188:3:13" - }, - "nativeSrc": "10188:12:13", - "nodeType": "YulFunctionCall", - "src": "10188:12:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10153:3:13", - "nodeType": "YulIdentifier", - "src": "10153:3:13" - }, - "nativeSrc": "10153:48:13", - "nodeType": "YulFunctionCall", - "src": "10153:48:13" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "10129:3:13", - "nodeType": "YulIdentifier", - "src": "10129:3:13" - }, - "nativeSrc": "10129:73:13", - "nodeType": "YulFunctionCall", - "src": "10129:73:13" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "10122:6:13", - "nodeType": "YulIdentifier", - "src": "10122:6:13" - }, - "nativeSrc": "10122:81:13", - "nodeType": "YulFunctionCall", - "src": "10122:81:13" - }, - "nativeSrc": "10119:168:13", - "nodeType": "YulIf", - "src": "10119:168:13" - }, - { - "nativeSrc": "10296:41:13", - "nodeType": "YulAssignment", - "src": "10296:41:13", - "value": { - "arguments": [ - { - "name": "base_ref", - "nativeSrc": "10308:8:13", - "nodeType": "YulIdentifier", - "src": "10308:8:13" - }, - { - "name": "rel_offset_of_tail", - "nativeSrc": "10318:18:13", - "nodeType": "YulIdentifier", - "src": "10318:18:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "10304:3:13", - "nodeType": "YulIdentifier", - "src": "10304:3:13" - }, - "nativeSrc": "10304:33:13", - "nodeType": "YulFunctionCall", - "src": "10304:33:13" - }, - "variableNames": [ - { - "name": "addr", - "nativeSrc": "10296:4:13", - "nodeType": "YulIdentifier", - "src": "10296:4:13" - } - ] - }, - { - "nativeSrc": "10347:28:13", - "nodeType": "YulAssignment", - "src": "10347:28:13", - "value": { - "arguments": [ - { - "name": "addr", - "nativeSrc": "10370:4:13", - "nodeType": "YulIdentifier", - "src": "10370:4:13" - } - ], - "functionName": { - "name": "calldataload", - "nativeSrc": "10357:12:13", - "nodeType": "YulIdentifier", - "src": "10357:12:13" - }, - "nativeSrc": "10357:18:13", - "nodeType": "YulFunctionCall", - "src": "10357:18:13" - }, - "variableNames": [ - { - "name": "length", - "nativeSrc": "10347:6:13", - "nodeType": "YulIdentifier", - "src": "10347:6:13" - } - ] - }, - { - "body": { - "nativeSrc": "10418:83:13", - "nodeType": "YulBlock", - "src": "10418:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", - "nativeSrc": "10420:77:13", - "nodeType": "YulIdentifier", - "src": "10420:77:13" - }, - "nativeSrc": "10420:79:13", - "nodeType": "YulFunctionCall", - "src": "10420:79:13" - }, - "nativeSrc": "10420:79:13", - "nodeType": "YulExpressionStatement", - "src": "10420:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nativeSrc": "10390:6:13", - "nodeType": "YulIdentifier", - "src": "10390:6:13" - }, - { - "kind": "number", - "nativeSrc": "10398:18:13", - "nodeType": "YulLiteral", - "src": "10398:18:13", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "10387:2:13", - "nodeType": "YulIdentifier", - "src": "10387:2:13" - }, - "nativeSrc": "10387:30:13", - "nodeType": "YulFunctionCall", - "src": "10387:30:13" - }, - "nativeSrc": "10384:117:13", - "nodeType": "YulIf", - "src": "10384:117:13" - }, - { - "nativeSrc": "10510:21:13", - "nodeType": "YulAssignment", - "src": "10510:21:13", - "value": { - "arguments": [ - { - "name": "addr", - "nativeSrc": "10522:4:13", - "nodeType": "YulIdentifier", - "src": "10522:4:13" - }, - { - "kind": "number", - "nativeSrc": "10528:2:13", - "nodeType": "YulLiteral", - "src": "10528:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "10518:3:13", - "nodeType": "YulIdentifier", - "src": "10518:3:13" - }, - "nativeSrc": "10518:13:13", - "nodeType": "YulFunctionCall", - "src": "10518:13:13" - }, - "variableNames": [ - { - "name": "addr", - "nativeSrc": "10510:4:13", - "nodeType": "YulIdentifier", - "src": "10510:4:13" - } - ] - }, - { - "body": { - "nativeSrc": "10593:83:13", - "nodeType": "YulBlock", - "src": "10593:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", - "nativeSrc": "10595:77:13", - "nodeType": "YulIdentifier", - "src": "10595:77:13" - }, - "nativeSrc": "10595:79:13", - "nodeType": "YulFunctionCall", - "src": "10595:79:13" - }, - "nativeSrc": "10595:79:13", - "nodeType": "YulExpressionStatement", - "src": "10595:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "addr", - "nativeSrc": "10547:4:13", - "nodeType": "YulIdentifier", - "src": "10547:4:13" - }, - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nativeSrc": "10557:12:13", - "nodeType": "YulIdentifier", - "src": "10557:12:13" - }, - "nativeSrc": "10557:14:13", - "nodeType": "YulFunctionCall", - "src": "10557:14:13" - }, - { - "arguments": [ - { - "name": "length", - "nativeSrc": "10577:6:13", - "nodeType": "YulIdentifier", - "src": "10577:6:13" - }, - { - "kind": "number", - "nativeSrc": "10585:4:13", - "nodeType": "YulLiteral", - "src": "10585:4:13", - "type": "", - "value": "0x01" - } - ], - "functionName": { - "name": "mul", - "nativeSrc": "10573:3:13", - "nodeType": "YulIdentifier", - "src": "10573:3:13" - }, - "nativeSrc": "10573:17:13", - "nodeType": "YulFunctionCall", - "src": "10573:17:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10553:3:13", - "nodeType": "YulIdentifier", - "src": "10553:3:13" - }, - "nativeSrc": "10553:38:13", - "nodeType": "YulFunctionCall", - "src": "10553:38:13" - } - ], - "functionName": { - "name": "sgt", - "nativeSrc": "10543:3:13", - "nodeType": "YulIdentifier", - "src": "10543:3:13" - }, - "nativeSrc": "10543:49:13", - "nodeType": "YulFunctionCall", - "src": "10543:49:13" - }, - "nativeSrc": "10540:136:13", - "nodeType": "YulIf", - "src": "10540:136:13" - } - ] - }, - "name": "access_calldata_tail_t_bytes_calldata_ptr", - "nativeSrc": "9959:724:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base_ref", - "nativeSrc": "10010:8:13", - "nodeType": "YulTypedName", - "src": "10010:8:13", - "type": "" - }, - { - "name": "ptr_to_tail", - "nativeSrc": "10020:11:13", - "nodeType": "YulTypedName", - "src": "10020:11:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "addr", - "nativeSrc": "10036:4:13", - "nodeType": "YulTypedName", - "src": "10036:4:13", - "type": "" - }, - { - "name": "length", - "nativeSrc": "10042:6:13", - "nodeType": "YulTypedName", - "src": "10042:6:13", - "type": "" - } - ], - "src": "9959:724:13" - }, - { - "body": { - "nativeSrc": "10752:80:13", - "nodeType": "YulBlock", - "src": "10752:80:13", - "statements": [ - { - "nativeSrc": "10762:22:13", - "nodeType": "YulAssignment", - "src": "10762:22:13", - "value": { - "arguments": [ - { - "name": "offset", - "nativeSrc": "10777:6:13", - "nodeType": "YulIdentifier", - "src": "10777:6:13" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "10771:5:13", - "nodeType": "YulIdentifier", - "src": "10771:5:13" - }, - "nativeSrc": "10771:13:13", - "nodeType": "YulFunctionCall", - "src": "10771:13:13" - }, - "variableNames": [ - { - "name": "value", - "nativeSrc": "10762:5:13", - "nodeType": "YulIdentifier", - "src": "10762:5:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nativeSrc": "10820:5:13", - "nodeType": "YulIdentifier", - "src": "10820:5:13" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nativeSrc": "10793:26:13", - "nodeType": "YulIdentifier", - "src": "10793:26:13" - }, - "nativeSrc": "10793:33:13", - "nodeType": "YulFunctionCall", - "src": "10793:33:13" - }, - "nativeSrc": "10793:33:13", - "nodeType": "YulExpressionStatement", - "src": "10793:33:13" - } - ] - }, - "name": "abi_decode_t_address_fromMemory", - "nativeSrc": "10689:143:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nativeSrc": "10730:6:13", - "nodeType": "YulTypedName", - "src": "10730:6:13", - "type": "" - }, - { - "name": "end", - "nativeSrc": "10738:3:13", - "nodeType": "YulTypedName", - "src": "10738:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nativeSrc": "10746:5:13", - "nodeType": "YulTypedName", - "src": "10746:5:13", - "type": "" - } - ], - "src": "10689:143:13" - }, - { - "body": { - "nativeSrc": "10915:274:13", - "nodeType": "YulBlock", - "src": "10915:274:13", - "statements": [ - { - "body": { - "nativeSrc": "10961:83:13", - "nodeType": "YulBlock", - "src": "10961:83:13", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nativeSrc": "10963:77:13", - "nodeType": "YulIdentifier", - "src": "10963:77:13" - }, - "nativeSrc": "10963:79:13", - "nodeType": "YulFunctionCall", - "src": "10963:79:13" - }, - "nativeSrc": "10963:79:13", - "nodeType": "YulExpressionStatement", - "src": "10963:79:13" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nativeSrc": "10936:7:13", - "nodeType": "YulIdentifier", - "src": "10936:7:13" - }, - { - "name": "headStart", - "nativeSrc": "10945:9:13", - "nodeType": "YulIdentifier", - "src": "10945:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10932:3:13", - "nodeType": "YulIdentifier", - "src": "10932:3:13" - }, - "nativeSrc": "10932:23:13", - "nodeType": "YulFunctionCall", - "src": "10932:23:13" - }, - { - "kind": "number", - "nativeSrc": "10957:2:13", - "nodeType": "YulLiteral", - "src": "10957:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nativeSrc": "10928:3:13", - "nodeType": "YulIdentifier", - "src": "10928:3:13" - }, - "nativeSrc": "10928:32:13", - "nodeType": "YulFunctionCall", - "src": "10928:32:13" - }, - "nativeSrc": "10925:119:13", - "nodeType": "YulIf", - "src": "10925:119:13" - }, - { - "nativeSrc": "11054:128:13", - "nodeType": "YulBlock", - "src": "11054:128:13", - "statements": [ - { - "nativeSrc": "11069:15:13", - "nodeType": "YulVariableDeclaration", - "src": "11069:15:13", - "value": { - "kind": "number", - "nativeSrc": "11083:1:13", - "nodeType": "YulLiteral", - "src": "11083:1:13", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nativeSrc": "11073:6:13", - "nodeType": "YulTypedName", - "src": "11073:6:13", - "type": "" - } - ] - }, - { - "nativeSrc": "11098:74:13", - "nodeType": "YulAssignment", - "src": "11098:74:13", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "11144:9:13", - "nodeType": "YulIdentifier", - "src": "11144:9:13" - }, - { - "name": "offset", - "nativeSrc": "11155:6:13", - "nodeType": "YulIdentifier", - "src": "11155:6:13" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11140:3:13", - "nodeType": "YulIdentifier", - "src": "11140:3:13" - }, - "nativeSrc": "11140:22:13", - "nodeType": "YulFunctionCall", - "src": "11140:22:13" - }, - { - "name": "dataEnd", - "nativeSrc": "11164:7:13", - "nodeType": "YulIdentifier", - "src": "11164:7:13" - } - ], - "functionName": { - "name": "abi_decode_t_address_fromMemory", - "nativeSrc": "11108:31:13", - "nodeType": "YulIdentifier", - "src": "11108:31:13" - }, - "nativeSrc": "11108:64:13", - "nodeType": "YulFunctionCall", - "src": "11108:64:13" - }, - "variableNames": [ - { - "name": "value0", - "nativeSrc": "11098:6:13", - "nodeType": "YulIdentifier", - "src": "11098:6:13" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nativeSrc": "10838:351:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "10885:9:13", - "nodeType": "YulTypedName", - "src": "10885:9:13", - "type": "" - }, - { - "name": "dataEnd", - "nativeSrc": "10896:7:13", - "nodeType": "YulTypedName", - "src": "10896:7:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nativeSrc": "10908:6:13", - "nodeType": "YulTypedName", - "src": "10908:6:13", - "type": "" - } - ], - "src": "10838:351:13" - }, - { - "body": { - "nativeSrc": "11301:58:13", - "nodeType": "YulBlock", - "src": "11301:58:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "11323:6:13", - "nodeType": "YulIdentifier", - "src": "11323:6:13" - }, - { - "kind": "number", - "nativeSrc": "11331:1:13", - "nodeType": "YulLiteral", - "src": "11331:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11319:3:13", - "nodeType": "YulIdentifier", - "src": "11319:3:13" - }, - "nativeSrc": "11319:14:13", - "nodeType": "YulFunctionCall", - "src": "11319:14:13" - }, - { - "hexValue": "4461746120746f6f2073686f7274", - "kind": "string", - "nativeSrc": "11335:16:13", - "nodeType": "YulLiteral", - "src": "11335:16:13", - "type": "", - "value": "Data too short" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "11312:6:13", - "nodeType": "YulIdentifier", - "src": "11312:6:13" - }, - "nativeSrc": "11312:40:13", - "nodeType": "YulFunctionCall", - "src": "11312:40:13" - }, - "nativeSrc": "11312:40:13", - "nodeType": "YulExpressionStatement", - "src": "11312:40:13" - } - ] - }, - "name": "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", - "nativeSrc": "11195:164:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "11293:6:13", - "nodeType": "YulTypedName", - "src": "11293:6:13", - "type": "" - } - ], - "src": "11195:164:13" - }, - { - "body": { - "nativeSrc": "11511:220:13", - "nodeType": "YulBlock", - "src": "11511:220:13", - "statements": [ - { - "nativeSrc": "11521:74:13", - "nodeType": "YulAssignment", - "src": "11521:74:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "11587:3:13", - "nodeType": "YulIdentifier", - "src": "11587:3:13" - }, - { - "kind": "number", - "nativeSrc": "11592:2:13", - "nodeType": "YulLiteral", - "src": "11592:2:13", - "type": "", - "value": "14" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nativeSrc": "11528:58:13", - "nodeType": "YulIdentifier", - "src": "11528:58:13" - }, - "nativeSrc": "11528:67:13", - "nodeType": "YulFunctionCall", - "src": "11528:67:13" - }, - "variableNames": [ - { - "name": "pos", - "nativeSrc": "11521:3:13", - "nodeType": "YulIdentifier", - "src": "11521:3:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "11693:3:13", - "nodeType": "YulIdentifier", - "src": "11693:3:13" - } - ], - "functionName": { - "name": "store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", - "nativeSrc": "11604:88:13", - "nodeType": "YulIdentifier", - "src": "11604:88:13" - }, - "nativeSrc": "11604:93:13", - "nodeType": "YulFunctionCall", - "src": "11604:93:13" - }, - "nativeSrc": "11604:93:13", - "nodeType": "YulExpressionStatement", - "src": "11604:93:13" - }, - { - "nativeSrc": "11706:19:13", - "nodeType": "YulAssignment", - "src": "11706:19:13", - "value": { - "arguments": [ - { - "name": "pos", - "nativeSrc": "11717:3:13", - "nodeType": "YulIdentifier", - "src": "11717:3:13" - }, - { - "kind": "number", - "nativeSrc": "11722:2:13", - "nodeType": "YulLiteral", - "src": "11722:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11713:3:13", - "nodeType": "YulIdentifier", - "src": "11713:3:13" - }, - "nativeSrc": "11713:12:13", - "nodeType": "YulFunctionCall", - "src": "11713:12:13" - }, - "variableNames": [ - { - "name": "end", - "nativeSrc": "11706:3:13", - "nodeType": "YulIdentifier", - "src": "11706:3:13" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack", - "nativeSrc": "11365:366:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nativeSrc": "11499:3:13", - "nodeType": "YulTypedName", - "src": "11499:3:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nativeSrc": "11507:3:13", - "nodeType": "YulTypedName", - "src": "11507:3:13", - "type": "" - } - ], - "src": "11365:366:13" - }, - { - "body": { - "nativeSrc": "11908:248:13", - "nodeType": "YulBlock", - "src": "11908:248:13", - "statements": [ - { - "nativeSrc": "11918:26:13", - "nodeType": "YulAssignment", - "src": "11918:26:13", - "value": { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "11930:9:13", - "nodeType": "YulIdentifier", - "src": "11930:9:13" - }, - { - "kind": "number", - "nativeSrc": "11941:2:13", - "nodeType": "YulLiteral", - "src": "11941:2:13", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11926:3:13", - "nodeType": "YulIdentifier", - "src": "11926:3:13" - }, - "nativeSrc": "11926:18:13", - "nodeType": "YulFunctionCall", - "src": "11926:18:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "11918:4:13", - "nodeType": "YulIdentifier", - "src": "11918:4:13" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nativeSrc": "11965:9:13", - "nodeType": "YulIdentifier", - "src": "11965:9:13" - }, - { - "kind": "number", - "nativeSrc": "11976:1:13", - "nodeType": "YulLiteral", - "src": "11976:1:13", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "11961:3:13", - "nodeType": "YulIdentifier", - "src": "11961:3:13" - }, - "nativeSrc": "11961:17:13", - "nodeType": "YulFunctionCall", - "src": "11961:17:13" - }, - { - "arguments": [ - { - "name": "tail", - "nativeSrc": "11984:4:13", - "nodeType": "YulIdentifier", - "src": "11984:4:13" - }, - { - "name": "headStart", - "nativeSrc": "11990:9:13", - "nodeType": "YulIdentifier", - "src": "11990:9:13" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "11980:3:13", - "nodeType": "YulIdentifier", - "src": "11980:3:13" - }, - "nativeSrc": "11980:20:13", - "nodeType": "YulFunctionCall", - "src": "11980:20:13" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "11954:6:13", - "nodeType": "YulIdentifier", - "src": "11954:6:13" - }, - "nativeSrc": "11954:47:13", - "nodeType": "YulFunctionCall", - "src": "11954:47:13" - }, - "nativeSrc": "11954:47:13", - "nodeType": "YulExpressionStatement", - "src": "11954:47:13" - }, - { - "nativeSrc": "12010:139:13", - "nodeType": "YulAssignment", - "src": "12010:139:13", - "value": { - "arguments": [ - { - "name": "tail", - "nativeSrc": "12144:4:13", - "nodeType": "YulIdentifier", - "src": "12144:4:13" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack", - "nativeSrc": "12018:124:13", - "nodeType": "YulIdentifier", - "src": "12018:124:13" - }, - "nativeSrc": "12018:131:13", - "nodeType": "YulFunctionCall", - "src": "12018:131:13" - }, - "variableNames": [ - { - "name": "tail", - "nativeSrc": "12010:4:13", - "nodeType": "YulIdentifier", - "src": "12010:4:13" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "11737:419:13", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nativeSrc": "11888:9:13", - "nodeType": "YulTypedName", - "src": "11888:9:13", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nativeSrc": "11903:4:13", - "nodeType": "YulTypedName", - "src": "11903:4:13", - "type": "" - } - ], - "src": "11737:419:13" - } - ] - }, - "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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 copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\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_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 Attestation[]\n function abi_decode_t_array$_t_struct$_Attestation_$1641_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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_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 value2, value3 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\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 revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() {\n revert(0, 0)\n }\n\n // struct Attestation\n function abi_decode_t_struct$_Attestation_$1641_calldata_ptr(offset, end) -> value {\n if slt(sub(end, offset), 320) { revert_error_21fe6b43b4db61d76a176e95bf1a6b9ede4c301f93a4246f41fecb96e160861d() }\n value := offset\n }\n\n function abi_decode_tuple_t_struct$_Attestation_$1641_calldata_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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$_Attestation_$1641_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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 store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(memPtr) {\n\n mstore(add(memPtr, 0), \".\")\n\n }\n\n function abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf(pos)\n end := add(pos, 1)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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$_Attestation_$1641_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(0x0140, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\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(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\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 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 abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_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_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94(memPtr) {\n\n mstore(add(memPtr, 0), \"Data too short\")\n\n }\n\n function abi_encode_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94__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_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", - "id": 13, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": { - "2113": [ - { - "length": 32, - "start": 1414 - } - ], - "2425": [ - { - "length": 32, - "start": 448 - } - ], - "2427": [ - { - "length": 32, - "start": 489 - } - ], - "2429": [ - { - "length": 32, - "start": 530 - } - ] - }, - "linkReferences": {}, - "object": "608060405260043610610058575f3560e01c806354fd4d50146100a157806388e5b2d9146100cb57806391db0b7e146100fb578063ce46e0461461012b578063e49617e114610155578063e60c3505146101855761009d565b3661009d576100656101b5565b61009b576040517f1574f9f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b3480156100ac575f80fd5b506100b56101b9565b6040516100c29190610a5f565b60405180910390f35b6100e560048036038101906100e09190610b3d565b61025c565b6040516100f29190610bd5565b60405180910390f35b61011560048036038101906101109190610b3d565b610371565b6040516101229190610bd5565b60405180910390f35b348015610136575f80fd5b5061013f6101b5565b60405161014c9190610bd5565b60405180910390f35b61016f600480360381019061016a9190610c11565b610486565b60405161017c9190610bd5565b60405180910390f35b61019f600480360381019061019a9190610c11565b6104a0565b6040516101ac9190610bd5565b60405180910390f35b5f90565b60606101e47f00000000000000000000000000000000000000000000000000000000000000006104ba565b61020d7f00000000000000000000000000000000000000000000000000000000000000006104ba565b6102367f00000000000000000000000000000000000000000000000000000000000000006104ba565b60405160200161024893929190610cdc565b604051602081830303815290604052905090565b5f610265610584565b5f8585905090508383905081146102a8576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610361575f8686838181106102ca576102c9610d22565b5b9050602002013590508281111561030d576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033b89898481811061032357610322610d22565b5b90506020028101906103359190610d5b565b8261060b565b61034b575f945050505050610369565b80830392505061035a81610616565b90506102ae565b506001925050505b949350505050565b5f61037a610584565b5f8585905090508383905081146103bd576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3490505f5b82811015610476575f8686838181106103df576103de610d22565b5b90506020020135905082811115610422576040517f1101129400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045089898481811061043857610437610d22565b5b905060200281019061044a9190610d5b565b82610622565b610460575f94505050505061047e565b80830392505061046f81610616565b90506103c3565b506001925050505b949350505050565b5f61048f610584565b610499823461060b565b9050919050565b5f6104a9610584565b6104b38234610622565b9050919050565b60605f60016104c88461082e565b0190505f8167ffffffffffffffff8111156104e6576104e5610d83565b5b6040519080825280601f01601f1916602001820160405280156105185781602001600182028036833780820191505090505b5090505f82602001820190505b600115610579578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161056e5761056d610db0565b5b0494505f8503610525575b819350505050919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610609576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6001905092915050565b5f600182019050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168360c001602081019061064d9190610e37565b73ffffffffffffffffffffffffffffffffffffffff16036106715760019050610828565b5f8360c00160208101906106859190610e37565b73ffffffffffffffffffffffffffffffffffffffff163b036106a9575f9050610828565b5f610705848061012001906106be9190610e62565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061097f565b90508073ffffffffffffffffffffffffffffffffffffffff168460c00160208101906107319190610e37565b73ffffffffffffffffffffffffffffffffffffffff1614610755575f915050610828565b5f8460c00160208101906107699190610e37565b90508073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156107d357506040513d601f19601f820116820180604052508101906107d09190610ed8565b60015b6107e1575f92505050610828565b8073ffffffffffffffffffffffffffffffffffffffff168660e001602081019061080b9190610e37565b73ffffffffffffffffffffffffffffffffffffffff161493505050505b92915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061088a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816108805761087f610db0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106108c7576d04ee2d6d415b85acef810000000083816108bd576108bc610db0565b5b0492506020810190505b662386f26fc1000083106108f657662386f26fc1000083816108ec576108eb610db0565b5b0492506010810190505b6305f5e100831061091f576305f5e100838161091557610914610db0565b5b0492506008810190505b612710831061094457612710838161093a57610939610db0565b5b0492506004810190505b60648310610967576064838161095d5761095c610db0565b5b0492506002810190505b600a8310610976576001810190505b80915050919050565b5f6020825110156109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90610f4d565b60405180910390fd5b5f6020830151905073ffffffffffffffffffffffffffffffffffffffff8116905080915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610a31826109ef565b610a3b81856109f9565b9350610a4b818560208601610a09565b610a5481610a17565b840191505092915050565b5f6020820190508181035f830152610a778184610a27565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610aa857610aa7610a87565b5b8235905067ffffffffffffffff811115610ac557610ac4610a8b565b5b602083019150836020820283011115610ae157610ae0610a8f565b5b9250929050565b5f8083601f840112610afd57610afc610a87565b5b8235905067ffffffffffffffff811115610b1a57610b19610a8b565b5b602083019150836020820283011115610b3657610b35610a8f565b5b9250929050565b5f805f8060408587031215610b5557610b54610a7f565b5b5f85013567ffffffffffffffff811115610b7257610b71610a83565b5b610b7e87828801610a93565b9450945050602085013567ffffffffffffffff811115610ba157610ba0610a83565b5b610bad87828801610ae8565b925092505092959194509250565b5f8115159050919050565b610bcf81610bbb565b82525050565b5f602082019050610be85f830184610bc6565b92915050565b5f80fd5b5f6101408284031215610c0857610c07610bee565b5b81905092915050565b5f60208284031215610c2657610c25610a7f565b5b5f82013567ffffffffffffffff811115610c4357610c42610a83565b5b610c4f84828501610bf2565b91505092915050565b5f81905092915050565b5f610c6c826109ef565b610c768185610c58565b9350610c86818560208601610a09565b80840191505092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f610cc6600183610c58565b9150610cd182610c92565b600182019050919050565b5f610ce78286610c62565b9150610cf282610cba565b9150610cfe8285610c62565b9150610d0982610cba565b9150610d158284610c62565b9150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f8235600161014003833603038112610d7757610d76610d4f565b5b80830191505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e0682610ddd565b9050919050565b610e1681610dfc565b8114610e20575f80fd5b50565b5f81359050610e3181610e0d565b92915050565b5f60208284031215610e4c57610e4b610a7f565b5b5f610e5984828501610e23565b91505092915050565b5f8083356001602003843603038112610e7e57610e7d610d4f565b5b80840192508235915067ffffffffffffffff821115610ea057610e9f610d53565b5b602083019250600182023603831315610ebc57610ebb610d57565b5b509250929050565b5f81519050610ed281610e0d565b92915050565b5f60208284031215610eed57610eec610a7f565b5b5f610efa84828501610ec4565b91505092915050565b7f4461746120746f6f2073686f72740000000000000000000000000000000000005f82015250565b5f610f37600e836109f9565b9150610f4282610f03565b602082019050919050565b5f6020820190508181035f830152610f6481610f2b565b905091905056fea2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x58 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x88E5B2D9 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x91DB0B7E EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0xCE46E046 EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0xE49617E1 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0xE60C3505 EQ PUSH2 0x185 JUMPI PUSH2 0x9D JUMP JUMPDEST CALLDATASIZE PUSH2 0x9D JUMPI PUSH2 0x65 PUSH2 0x1B5 JUMP JUMPDEST PUSH2 0x9B JUMPI PUSH1 0x40 MLOAD PUSH32 0x1574F9F300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5 PUSH2 0x1B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0xA5F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0xB3D JUMP JUMPDEST PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0xBD5 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 0xB3D JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x13F PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x486 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xC11 JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AC SWAP2 SWAP1 PUSH2 0xBD5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1E4 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x20D PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH2 0x236 PUSH32 0x0 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 PUSH2 0x265 PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x2A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x361 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x2CA JUMPI PUSH2 0x2C9 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x30D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x33B DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x323 JUMPI PUSH2 0x322 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x335 SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x60B JUMP JUMPDEST PUSH2 0x34B JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x369 JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x35A DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x2AE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x37A PUSH2 0x584 JUMP JUMPDEST PUSH0 DUP6 DUP6 SWAP1 POP SWAP1 POP DUP4 DUP4 SWAP1 POP DUP2 EQ PUSH2 0x3BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x947D5A8400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 CALLVALUE SWAP1 POP PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x476 JUMPI PUSH0 DUP7 DUP7 DUP4 DUP2 DUP2 LT PUSH2 0x3DF JUMPI PUSH2 0x3DE PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0x422 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1101129400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x450 DUP10 DUP10 DUP5 DUP2 DUP2 LT PUSH2 0x438 JUMPI PUSH2 0x437 PUSH2 0xD22 JUMP JUMPDEST JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x44A SWAP2 SWAP1 PUSH2 0xD5B JUMP JUMPDEST DUP3 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x460 JUMPI PUSH0 SWAP5 POP POP POP POP POP PUSH2 0x47E JUMP JUMPDEST DUP1 DUP4 SUB SWAP3 POP POP PUSH2 0x46F DUP2 PUSH2 0x616 JUMP JUMPDEST SWAP1 POP PUSH2 0x3C3 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x48F PUSH2 0x584 JUMP JUMPDEST PUSH2 0x499 DUP3 CALLVALUE PUSH2 0x60B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x4A9 PUSH2 0x584 JUMP JUMPDEST PUSH2 0x4B3 DUP3 CALLVALUE PUSH2 0x622 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH0 PUSH1 0x1 PUSH2 0x4C8 DUP5 PUSH2 0x82E JUMP JUMPDEST ADD SWAP1 POP PUSH0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4E6 JUMPI PUSH2 0x4E5 PUSH2 0xD83 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x518 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH0 DUP3 PUSH1 0x20 ADD DUP3 ADD SWAP1 POP JUMPDEST PUSH1 0x1 ISZERO PUSH2 0x579 JUMPI DUP1 DUP1 PUSH1 0x1 SWAP1 SUB SWAP2 POP POP PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DUP2 PUSH2 0x56E JUMPI PUSH2 0x56D PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP5 POP PUSH0 DUP6 SUB PUSH2 0x525 JUMPI JUMPDEST DUP2 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4CA8886700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x671 JUMPI PUSH1 0x1 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP4 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x685 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE SUB PUSH2 0x6A9 JUMPI PUSH0 SWAP1 POP PUSH2 0x828 JUMP JUMPDEST PUSH0 PUSH2 0x705 DUP5 DUP1 PUSH2 0x120 ADD SWAP1 PUSH2 0x6BE SWAP2 SWAP1 PUSH2 0xE62 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 PUSH0 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 PUSH2 0x97F JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x731 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x755 JUMPI PUSH0 SWAP2 POP POP PUSH2 0x828 JUMP JUMPDEST PUSH0 DUP5 PUSH1 0xC0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x769 SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x8DA5CB5B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x7D3 JUMPI POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0xED8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x7E1 JUMPI PUSH0 SWAP3 POP POP POP PUSH2 0x828 JUMP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP7 PUSH1 0xE0 ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x80B SWAP2 SWAP1 PUSH2 0xE37 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 POP PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 LT PUSH2 0x88A JUMPI PUSH27 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000 DUP4 DUP2 PUSH2 0x880 JUMPI PUSH2 0x87F PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x40 DUP2 ADD SWAP1 POP JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x8C7 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DUP2 PUSH2 0x8BD JUMPI PUSH2 0x8BC PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x20 DUP2 ADD SWAP1 POP JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x8F6 JUMPI PUSH7 0x2386F26FC10000 DUP4 DUP2 PUSH2 0x8EC JUMPI PUSH2 0x8EB PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x10 DUP2 ADD SWAP1 POP JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x91F JUMPI PUSH4 0x5F5E100 DUP4 DUP2 PUSH2 0x915 JUMPI PUSH2 0x914 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x8 DUP2 ADD SWAP1 POP JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x944 JUMPI PUSH2 0x2710 DUP4 DUP2 PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x4 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x967 JUMPI PUSH1 0x64 DUP4 DUP2 PUSH2 0x95D JUMPI PUSH2 0x95C PUSH2 0xDB0 JUMP JUMPDEST JUMPDEST DIV SWAP3 POP PUSH1 0x2 DUP2 ADD SWAP1 POP JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x976 JUMPI PUSH1 0x1 DUP2 ADD SWAP1 POP JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 MLOAD LT ISZERO PUSH2 0x9C5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BC SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x20 DUP4 ADD MLOAD SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xA31 DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xA3B DUP2 DUP6 PUSH2 0x9F9 JUMP JUMPDEST SWAP4 POP PUSH2 0xA4B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST PUSH2 0xA54 DUP2 PUSH2 0xA17 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA77 DUP2 DUP5 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAA8 JUMPI PUSH2 0xAA7 PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAC5 JUMPI PUSH2 0xAC4 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xAE1 JUMPI PUSH2 0xAE0 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xAFD JUMPI PUSH2 0xAFC PUSH2 0xA87 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB1A JUMPI PUSH2 0xB19 PUSH2 0xA8B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xB36 JUMPI PUSH2 0xB35 PUSH2 0xA8F JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xB55 JUMPI PUSH2 0xB54 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB72 JUMPI PUSH2 0xB71 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xB7E DUP8 DUP3 DUP9 ADD PUSH2 0xA93 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA1 JUMPI PUSH2 0xBA0 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xBAD DUP8 DUP3 DUP9 ADD PUSH2 0xAE8 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBCF DUP2 PUSH2 0xBBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBE8 PUSH0 DUP4 ADD DUP5 PUSH2 0xBC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH2 0x140 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC08 JUMPI PUSH2 0xC07 PUSH2 0xBEE JUMP JUMPDEST JUMPDEST DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH2 0xC25 PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC43 JUMPI PUSH2 0xC42 PUSH2 0xA83 JUMP JUMPDEST JUMPDEST PUSH2 0xC4F DUP5 DUP3 DUP6 ADD PUSH2 0xBF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xC6C DUP3 PUSH2 0x9EF JUMP JUMPDEST PUSH2 0xC76 DUP2 DUP6 PUSH2 0xC58 JUMP JUMPDEST SWAP4 POP PUSH2 0xC86 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA09 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x2E00000000000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xCC6 PUSH1 0x1 DUP4 PUSH2 0xC58 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD1 DUP3 PUSH2 0xC92 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xCE7 DUP3 DUP7 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xCF2 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xCFE DUP3 DUP6 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP PUSH2 0xD09 DUP3 PUSH2 0xCBA JUMP JUMPDEST SWAP2 POP PUSH2 0xD15 DUP3 DUP5 PUSH2 0xC62 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP3 CALLDATALOAD PUSH1 0x1 PUSH2 0x140 SUB DUP4 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xD77 JUMPI PUSH2 0xD76 PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP4 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE06 DUP3 PUSH2 0xDDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE16 DUP2 PUSH2 0xDFC JUMP JUMPDEST DUP2 EQ PUSH2 0xE20 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE31 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4C JUMPI PUSH2 0xE4B PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xE59 DUP5 DUP3 DUP6 ADD PUSH2 0xE23 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SUB DUP5 CALLDATASIZE SUB SUB DUP2 SLT PUSH2 0xE7E JUMPI PUSH2 0xE7D PUSH2 0xD4F JUMP JUMPDEST JUMPDEST DUP1 DUP5 ADD SWAP3 POP DUP3 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEA0 JUMPI PUSH2 0xE9F PUSH2 0xD53 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x1 DUP3 MUL CALLDATASIZE SUB DUP4 SGT ISZERO PUSH2 0xEBC JUMPI PUSH2 0xEBB PUSH2 0xD57 JUMP JUMPDEST JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xED2 DUP2 PUSH2 0xE0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEED JUMPI PUSH2 0xEEC PUSH2 0xA7F JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xEFA DUP5 DUP3 DUP6 ADD PUSH2 0xEC4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4461746120746F6F2073686F7274000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xF37 PUSH1 0xE DUP4 PUSH2 0x9F9 JUMP JUMPDEST SWAP2 POP PUSH2 0xF42 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xF64 DUP2 PUSH2 0xF2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE SWAP12 0xB2 0xC6 SWAP2 0xEB PUSH11 0x4020C67F4FBBD742291EF MUL TLOAD 0xD4 0xD0 SWAP11 SWAP5 GAS 0x4D NOT INVALID SELFDESTRUCT RETURNDATACOPY 0x4E PUSH3 0x64736F PUSH13 0x634300081A0033000000000000 ", - "sourceMap": "344:2067:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1140:11:10;:9;:11::i;:::-;1135:62;;1174:12;;;;;;;;;;;;;;1135:62;344:2067:12;;;;;945:235:11;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3124:1460:10;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1433:1461;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2936:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1245;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;972:85;1022:4;972:85;:::o;945:235:11:-;987:13;1072:24;1089:6;1072:16;:24::i;:::-;1103;1120:6;1103:16;:24::i;:::-;1134;1151:6;1134:16;:24::i;:::-;1055:104;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1012:161;;945:235;:::o;3124:1460:10:-;3265:4;901:10;:8;:10::i;:::-;3281:14:::1;3298:12;;:19;;3281:36;;3341:6;;:13;;3331:6;:23;3327:76;;3377:15;;;;;;;;;;;;;;3327:76;3810:22;3835:9;3810:34;;3860:9;3855:701;3879:6;3875:1;:10;3855:701;;;4012:13;4028:6;;4035:1;4028:9;;;;;;;:::i;:::-;;;;;;;;4012:25;;4063:14;4055:5;:22;4051:87;;;4104:19;;;;;;;;;;;;;;4051:87;4266:32;4275:12;;4288:1;4275:15;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;4292:5;4266:8;:32::i;:::-;4261:84;;4325:5;4318:12;;;;;;;;4261:84;4526:5;4508:23;;;;3908:648;3891:15;3904:1;3891:12;:15::i;:::-;3887:19;;3855:701;;;;4573:4;4566:11;;;;922:1;3124:1460:::0;;;;;;:::o;1433:1461::-;1574:4;901:10;:8;:10::i;:::-;1590:14:::1;1607:12;;:19;;1590:36;;1650:6;;:13;;1640:6;:23;1636:76;;1686:15;;;;;;;;;;;;;;1636:76;2119:22;2144:9;2119:34;;2169:9;2164:702;2188:6;2184:1;:10;2164:702;;;2321:13;2337:6;;2344:1;2337:9;;;;;;;:::i;:::-;;;;;;;;2321:25;;2372:14;2364:5;:22;2360:87;;;2413:19;;;;;;;;;;;;;;2360:87;2576:32;2585:12;;2598:1;2585:15;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2602:5;2576:8;:32::i;:::-;2571:84;;2635:5;2628:12;;;;;;;;2571:84;2836:5;2818:23;;;;2217:649;2200:15;2213:1;2200:12;:15::i;:::-;2196:19;;2164:702;;;;2883:4;2876:11;;;;922:1;1433:1461:::0;;;;;;:::o;2936:146::-;3020:4;901:10;:8;:10::i;:::-;3043:32:::1;3052:11;3065:9;3043:8;:32::i;:::-;3036:39;;2936:146:::0;;;:::o;1245:::-;1329:4;901:10;:8;:10::i;:::-;1352:32:::1;1361:11;1374:9;1352:8;:32::i;:::-;1345:39;;1245:146:::0;;;:::o;637:698:2:-;693:13;742:14;779:1;759:17;770:5;759:10;:17::i;:::-;:21;742:38;;794:20;828:6;817:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:41;;849:11;975:6;971:2;967:15;959:6;955:28;948:35;;1010:282;1017:4;1010:282;;;1041:5;;;;;;;;1180:10;1175:2;1168:5;1164:14;1159:32;1154:3;1146:46;1236:2;1227:11;;;;;;:::i;:::-;;;;;1269:1;1260:5;:10;1010:282;1256:21;1010:282;1312:6;1305:13;;;;;637:698;;;:::o;6031:128:10:-;6100:4;6078:27;;:10;:27;;;6074:79;;6128:14;;;;;;;;;;;;;;6074:79;6031:128::o;2268:141:12:-;2375:4;2398;2391:11;;2268:141;;;;:::o;1397:102:5:-;1444:9;1489:1;1485;:5;1481:9;;1397:102;;;:::o;450:1192:12:-;553:4;697:1;664:35;;:11;:21;;;;;;;;;;:::i;:::-;:35;;;660:77;;722:4;715:11;;;;660:77;848:1;811:11;:21;;;;;;;;;;:::i;:::-;:33;;;:38;807:81;;872:5;865:12;;;;807:81;954:16;973:40;996:11;:16;;;;;;;;:::i;:::-;973:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:22;:40::i;:::-;954:59;;1153:8;1128:33;;:11;:21;;;;;;;;;;:::i;:::-;:33;;;1124:76;;1184:5;1177:12;;;;;1124:76;1266:23;1300:11;:21;;;;;;;;;;:::i;:::-;1266:56;;1337:15;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1333:303;;1620:5;1613:12;;;;;;1333:303;1494:5;1470:29;;:11;:20;;;;;;;;;;:::i;:::-;:29;;;1463:36;;;;;450:1192;;;;;:::o;12214:916:3:-;12267:7;12286:14;12303:1;12286:18;;12351:8;12342:5;:17;12338:103;;12388:8;12379:17;;;;;;:::i;:::-;;;;;12424:2;12414:12;;;;12338:103;12467:8;12458:5;:17;12454:103;;12504:8;12495:17;;;;;;:::i;:::-;;;;;12540:2;12530:12;;;;12454:103;12583:8;12574:5;:17;12570:103;;12620:8;12611:17;;;;;;:::i;:::-;;;;;12656:2;12646:12;;;;12570:103;12699:7;12690:5;:16;12686:100;;12735:7;12726:16;;;;;;:::i;:::-;;;;;12770:1;12760:11;;;;12686:100;12812:7;12803:5;:16;12799:100;;12848:7;12839:16;;;;;;:::i;:::-;;;;;12883:1;12873:11;;;;12799:100;12925:7;12916:5;:16;12912:100;;12961:7;12952:16;;;;;;:::i;:::-;;;;;12996:1;12986:11;;;;12912:100;13038:7;13029:5;:16;13025:66;;13075:1;13065:11;;;;13025:66;13117:6;13110:13;;;12214:916;;;:::o;1648:613:12:-;1722:7;1764:2;1749:4;:11;:17;;1741:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1897:24;1990:2;1984:4;1980:13;1974:20;1954:40;;2118:42;2100:16;2096:65;2076:85;;2238:16;2231:23;;;1648:613;;;:::o;7:99:13:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:117;1678:1;1675;1668:12;1692:117;1801:1;1798;1791:12;1815:117;1924:1;1921;1914:12;1966:599;2070:8;2080:6;2130:3;2123:4;2115:6;2111:17;2107:27;2097:122;;2138:79;;:::i;:::-;2097:122;2251:6;2238:20;2228:30;;2281:18;2273:6;2270:30;2267:117;;;2303:79;;:::i;:::-;2267:117;2417:4;2409:6;2405:17;2393:29;;2471:3;2463:4;2455:6;2451:17;2441:8;2437:32;2434:41;2431:128;;;2478:79;;:::i;:::-;2431:128;1966:599;;;;;:::o;2588:568::-;2661:8;2671:6;2721:3;2714:4;2706:6;2702:17;2698:27;2688:122;;2729:79;;:::i;:::-;2688:122;2842:6;2829:20;2819:30;;2872:18;2864:6;2861:30;2858:117;;;2894:79;;:::i;:::-;2858:117;3008:4;3000:6;2996:17;2984:29;;3062:3;3054:4;3046:6;3042:17;3032:8;3028:32;3025:41;3022:128;;;3069:79;;:::i;:::-;3022:128;2588:568;;;;;:::o;3162:996::-;3315:6;3323;3331;3339;3388:2;3376:9;3367:7;3363:23;3359:32;3356:119;;;3394:79;;:::i;:::-;3356:119;3542:1;3531:9;3527:17;3514:31;3572:18;3564:6;3561:30;3558:117;;;3594:79;;:::i;:::-;3558:117;3707:111;3810:7;3801:6;3790:9;3786:22;3707:111;:::i;:::-;3689:129;;;;3485:343;3895:2;3884:9;3880:18;3867:32;3926:18;3918:6;3915:30;3912:117;;;3948:79;;:::i;:::-;3912:117;4061:80;4133:7;4124:6;4113:9;4109:22;4061:80;:::i;:::-;4043:98;;;;3838:313;3162:996;;;;;;;:::o;4164:90::-;4198:7;4241:5;4234:13;4227:21;4216:32;;4164:90;;;:::o;4260:109::-;4341:21;4356:5;4341:21;:::i;:::-;4336:3;4329:34;4260:109;;:::o;4375:210::-;4462:4;4500:2;4489:9;4485:18;4477:26;;4513:65;4575:1;4564:9;4560:17;4551:6;4513:65;:::i;:::-;4375:210;;;;:::o;4591:117::-;4700:1;4697;4690:12;4740:236;4817:5;4858:3;4849:6;4844:3;4840:16;4836:26;4833:113;;;4865:79;;:::i;:::-;4833:113;4964:6;4955:15;;4740:236;;;;:::o;4982:551::-;5072:6;5121:2;5109:9;5100:7;5096:23;5092:32;5089:119;;;5127:79;;:::i;:::-;5089:119;5275:1;5264:9;5260:17;5247:31;5305:18;5297:6;5294:30;5291:117;;;5327:79;;:::i;:::-;5291:117;5432:84;5508:7;5499:6;5488:9;5484:22;5432:84;:::i;:::-;5422:94;;5218:308;4982:551;;;;:::o;5539:148::-;5641:11;5678:3;5663:18;;5539:148;;;;:::o;5693:390::-;5799:3;5827:39;5860:5;5827:39;:::i;:::-;5882:89;5964:6;5959:3;5882:89;:::i;:::-;5875:96;;5980:65;6038:6;6033:3;6026:4;6019:5;6015:16;5980:65;:::i;:::-;6070:6;6065:3;6061:16;6054:23;;5803:280;5693:390;;;;:::o;6089:151::-;6229:3;6225:1;6217:6;6213:14;6206:27;6089:151;:::o;6246:400::-;6406:3;6427:84;6509:1;6504:3;6427:84;:::i;:::-;6420:91;;6520:93;6609:3;6520:93;:::i;:::-;6638:1;6633:3;6629:11;6622:18;;6246:400;;;:::o;6652:1127::-;7082:3;7104:95;7195:3;7186:6;7104:95;:::i;:::-;7097:102;;7216:148;7360:3;7216:148;:::i;:::-;7209:155;;7381:95;7472:3;7463:6;7381:95;:::i;:::-;7374:102;;7493:148;7637:3;7493:148;:::i;:::-;7486:155;;7658:95;7749:3;7740:6;7658:95;:::i;:::-;7651:102;;7770:3;7763:10;;6652:1127;;;;;;:::o;7785:180::-;7833:77;7830:1;7823:88;7930:4;7927:1;7920:15;7954:4;7951:1;7944:15;7971:117;8080:1;8077;8070:12;8094:117;8203:1;8200;8193:12;8217:117;8326:1;8323;8316:12;8340:399;8437:4;8491:11;8478:25;8593:1;8585:6;8581:14;8570:8;8554:14;8550:29;8546:50;8526:18;8522:75;8512:170;;8601:79;;:::i;:::-;8512:170;8713:18;8703:8;8699:33;8691:41;;8442:297;8340:399;;;;:::o;8745:180::-;8793:77;8790:1;8783:88;8890:4;8887:1;8880:15;8914:4;8911:1;8904:15;8931:180;8979:77;8976:1;8969:88;9076:4;9073:1;9066:15;9100:4;9097:1;9090:15;9117:126;9154:7;9194:42;9187:5;9183:54;9172:65;;9117:126;;;:::o;9249:96::-;9286:7;9315:24;9333:5;9315:24;:::i;:::-;9304:35;;9249:96;;;:::o;9351:122::-;9424:24;9442:5;9424:24;:::i;:::-;9417:5;9414:35;9404:63;;9463:1;9460;9453:12;9404:63;9351:122;:::o;9479:139::-;9525:5;9563:6;9550:20;9541:29;;9579:33;9606:5;9579:33;:::i;:::-;9479:139;;;;:::o;9624:329::-;9683:6;9732:2;9720:9;9711:7;9707:23;9703:32;9700:119;;;9738:79;;:::i;:::-;9700:119;9858:1;9883:53;9928:7;9919:6;9908:9;9904:22;9883:53;:::i;:::-;9873:63;;9829:117;9624:329;;;;:::o;9959:724::-;10036:4;10042:6;10098:11;10085:25;10198:1;10192:4;10188:12;10177:8;10161:14;10157:29;10153:48;10133:18;10129:73;10119:168;;10206:79;;:::i;:::-;10119:168;10318:18;10308:8;10304:33;10296:41;;10370:4;10357:18;10347:28;;10398:18;10390:6;10387:30;10384:117;;;10420:79;;:::i;:::-;10384:117;10528:2;10522:4;10518:13;10510:21;;10585:4;10577:6;10573:17;10557:14;10553:38;10547:4;10543:49;10540:136;;;10595:79;;:::i;:::-;10540:136;10049:634;9959:724;;;;;:::o;10689:143::-;10746:5;10777:6;10771:13;10762:22;;10793:33;10820:5;10793:33;:::i;:::-;10689:143;;;;:::o;10838:351::-;10908:6;10957:2;10945:9;10936:7;10932:23;10928:32;10925:119;;;10963:79;;:::i;:::-;10925:119;11083:1;11108:64;11164:7;11155:6;11144:9;11140:22;11108:64;:::i;:::-;11098:74;;11054:128;10838:351;;;;:::o;11195:164::-;11335:16;11331:1;11323:6;11319:14;11312:40;11195:164;:::o;11365:366::-;11507:3;11528:67;11592:2;11587:3;11528:67;:::i;:::-;11521:74;;11604:93;11693:3;11604:93;:::i;:::-;11722:2;11717:3;11713:12;11706:19;;11365:366;;;:::o;11737:419::-;11903:4;11941:2;11930:9;11926:18;11918:26;;11990:9;11984:4;11980:20;11976:1;11965:9;11961:17;11954:47;12018:131;12144:4;12018:131;:::i;:::-;12010:139;;11737:419;;;:::o" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "800200", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "infinite", - "isPayable()": "374", - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "infinite", - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "infinite", - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "infinite", - "version()": "infinite" - }, - "internal": { - "extractAddressFromData(bytes memory)": "infinite", - "onAttest(struct Attestation calldata,uint256)": "infinite", - "onRevoke(struct Attestation calldata,uint256)": "29" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "100" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 344, - "end": 2411, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "CALLVALUE", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "DUP1", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "ISZERO", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "PUSH [tag]", - "source": 12, - "value": "1" - }, - { - "begin": 400, - "end": 444, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 400, - "end": 444, - "name": "DUP1", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "REVERT", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "tag", - "source": 12, - "value": "1" - }, - { - "begin": 400, - "end": 444, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "POP", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 400, - "end": 444, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "PUSHSIZE", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "CODESIZE", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "SUB", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "DUP1", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "PUSHSIZE", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "DUP4", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "CODECOPY", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "DUP2", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "DUP2", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "ADD", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 400, - "end": 444, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "DUP2", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "ADD", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "PUSH [tag]", - "source": 12, - "value": "2" - }, - { - "begin": 400, - "end": 444, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "PUSH [tag]", - "source": 12, - "value": "3" - }, - { - "begin": 400, - "end": 444, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 400, - "end": 444, - "name": "tag", - "source": 12, - "value": "2" - }, - { - "begin": 400, - "end": 444, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 437, - "end": 440, - "name": "DUP1", - "source": 12 - }, - { - "begin": 676, - "end": 677, - "name": "PUSH", - "source": 10, - "value": "1" - }, - { - "begin": 679, - "end": 680, - "name": "PUSH", - "source": 10, - "value": "3" - }, - { - "begin": 682, - "end": 683, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 768, - "end": 773, - "name": "DUP3", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "PUSH", - "source": 11, - "value": "80" - }, - { - "begin": 759, - "end": 773, - "name": "DUP2", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "DUP2", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "POP", - "source": 11 - }, - { - "begin": 759, - "end": 773, - "name": "POP", - "source": 11 - }, - { - "begin": 792, - "end": 797, - "name": "DUP2", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "PUSH", - "source": 11, - "value": "A0" - }, - { - "begin": 783, - "end": 797, - "name": "DUP2", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "DUP2", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "POP", - "source": 11 - }, - { - "begin": 783, - "end": 797, - "name": "POP", - "source": 11 - }, - { - "begin": 816, - "end": 821, - "name": "DUP1", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "PUSH", - "source": 11, - "value": "C0" - }, - { - "begin": 807, - "end": 821, - "name": "DUP2", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "DUP2", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "POP", - "source": 11 - }, - { - "begin": 807, - "end": 821, - "name": "POP", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "POP", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "POP", - "source": 11 - }, - { - "begin": 692, - "end": 828, - "name": "POP", - "source": 11 - }, - { - "begin": 723, - "end": 724, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 699, - "end": 725, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 699, - "end": 725, - "modifierDepth": 1, - "name": "AND", - "source": 10 - }, - { - "begin": 707, - "end": 710, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 699, - "end": 725, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 699, - "end": 725, - "modifierDepth": 1, - "name": "AND", - "source": 10 - }, - { - "begin": 699, - "end": 725, - "name": "SUB", - "source": 10 - }, - { - "begin": 695, - "end": 771, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "9" - }, - { - "begin": 695, - "end": 771, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "83780FFE00000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "MSTORE", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "DUP1", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "SUB", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 748, - "end": 760, - "modifierDepth": 1, - "name": "REVERT", - "source": 10 - }, - { - "begin": 695, - "end": 771, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "9" - }, - { - "begin": 695, - "end": 771, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 788, - "end": 791, - "modifierDepth": 1, - "name": "DUP1", - "source": 10 - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "AND", - "source": 10 - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "E0" - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "AND", - "source": 10 - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "MSTORE", - "source": 10 - }, - { - "begin": 781, - "end": 791, - "name": "POP", - "source": 10 - }, - { - "begin": 781, - "end": 791, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 647, - "end": 798, - "name": "POP", - "source": 10 - }, - { - "begin": 400, - "end": 444, - "name": "POP", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "11" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMP", - "source": 12 - }, - { - "begin": 88, - "end": 205, - "name": "tag", - "source": 13, - "value": "13" - }, - { - "begin": 88, - "end": 205, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 197, - "end": 198, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 194, - "end": 195, - "name": "DUP1", - "source": 13 - }, - { - "begin": 187, - "end": 199, - "name": "REVERT", - "source": 13 - }, - { - "begin": 334, - "end": 460, - "name": "tag", - "source": 13, - "value": "15" - }, - { - "begin": 334, - "end": 460, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 371, - "end": 378, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 411, - "end": 453, - "name": "PUSH", - "source": 13, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 404, - "end": 409, - "name": "DUP3", - "source": 13 - }, - { - "begin": 400, - "end": 454, - "name": "AND", - "source": 13 - }, - { - "begin": 389, - "end": 454, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 389, - "end": 454, - "name": "POP", - "source": 13 - }, - { - "begin": 334, - "end": 460, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 334, - "end": 460, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 334, - "end": 460, - "name": "POP", - "source": 13 - }, - { - "begin": 334, - "end": 460, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 466, - "end": 562, - "name": "tag", - "source": 13, - "value": "16" - }, - { - "begin": 466, - "end": 562, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 503, - "end": 510, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 532, - "end": 556, - "name": "PUSH [tag]", - "source": 13, - "value": "26" - }, - { - "begin": 550, - "end": 555, - "name": "DUP3", - "source": 13 - }, - { - "begin": 532, - "end": 556, - "name": "PUSH [tag]", - "source": 13, - "value": "15" - }, - { - "begin": 532, - "end": 556, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 532, - "end": 556, - "name": "tag", - "source": 13, - "value": "26" - }, - { - "begin": 532, - "end": 556, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 521, - "end": 556, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 521, - "end": 556, - "name": "POP", - "source": 13 - }, - { - "begin": 466, - "end": 562, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 466, - "end": 562, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 466, - "end": 562, - "name": "POP", - "source": 13 - }, - { - "begin": 466, - "end": 562, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 568, - "end": 677, - "name": "tag", - "source": 13, - "value": "17" - }, - { - "begin": 568, - "end": 677, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 618, - "end": 625, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 647, - "end": 671, - "name": "PUSH [tag]", - "source": 13, - "value": "28" - }, - { - "begin": 665, - "end": 670, - "name": "DUP3", - "source": 13 - }, - { - "begin": 647, - "end": 671, - "name": "PUSH [tag]", - "source": 13, - "value": "16" - }, - { - "begin": 647, - "end": 671, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 647, - "end": 671, - "name": "tag", - "source": 13, - "value": "28" - }, - { - "begin": 647, - "end": 671, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 636, - "end": 671, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 636, - "end": 671, - "name": "POP", - "source": 13 - }, - { - "begin": 568, - "end": 677, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 568, - "end": 677, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 568, - "end": 677, - "name": "POP", - "source": 13 - }, - { - "begin": 568, - "end": 677, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 683, - "end": 831, - "name": "tag", - "source": 13, - "value": "18" - }, - { - "begin": 683, - "end": 831, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 769, - "end": 806, - "name": "PUSH [tag]", - "source": 13, - "value": "30" - }, - { - "begin": 800, - "end": 805, - "name": "DUP2", - "source": 13 - }, - { - "begin": 769, - "end": 806, - "name": "PUSH [tag]", - "source": 13, - "value": "17" - }, - { - "begin": 769, - "end": 806, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 769, - "end": 806, - "name": "tag", - "source": 13, - "value": "30" - }, - { - "begin": 769, - "end": 806, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 762, - "end": 767, - "name": "DUP2", - "source": 13 - }, - { - "begin": 759, - "end": 807, - "name": "EQ", - "source": 13 - }, - { - "begin": 749, - "end": 825, - "name": "PUSH [tag]", - "source": 13, - "value": "31" - }, - { - "begin": 749, - "end": 825, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 821, - "end": 822, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 818, - "end": 819, - "name": "DUP1", - "source": 13 - }, - { - "begin": 811, - "end": 823, - "name": "REVERT", - "source": 13 - }, - { - "begin": 749, - "end": 825, - "name": "tag", - "source": 13, - "value": "31" - }, - { - "begin": 749, - "end": 825, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 683, - "end": 831, - "name": "POP", - "source": 13 - }, - { - "begin": 683, - "end": 831, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 837, - "end": 1006, - "name": "tag", - "source": 13, - "value": "19" - }, - { - "begin": 837, - "end": 1006, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 907, - "end": 912, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 938, - "end": 944, - "name": "DUP2", - "source": 13 - }, - { - "begin": 932, - "end": 945, - "name": "MLOAD", - "source": 13 - }, - { - "begin": 923, - "end": 945, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 923, - "end": 945, - "name": "POP", - "source": 13 - }, - { - "begin": 954, - "end": 1000, - "name": "PUSH [tag]", - "source": 13, - "value": "33" - }, - { - "begin": 994, - "end": 999, - "name": "DUP2", - "source": 13 - }, - { - "begin": 954, - "end": 1000, - "name": "PUSH [tag]", - "source": 13, - "value": "18" - }, - { - "begin": 954, - "end": 1000, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 954, - "end": 1000, - "name": "tag", - "source": 13, - "value": "33" - }, - { - "begin": 954, - "end": 1000, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 837, - "end": 1006, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 837, - "end": 1006, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 837, - "end": 1006, - "name": "POP", - "source": 13 - }, - { - "begin": 837, - "end": 1006, - "name": "POP", - "source": 13 - }, - { - "begin": 837, - "end": 1006, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1012, - "end": 1389, - "name": "tag", - "source": 13, - "value": "3" - }, - { - "begin": 1012, - "end": 1389, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1095, - "end": 1101, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1144, - "end": 1146, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 1132, - "end": 1141, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1123, - "end": 1130, - "name": "DUP5", - "source": 13 - }, - { - "begin": 1119, - "end": 1142, - "name": "SUB", - "source": 13 - }, - { - "begin": 1115, - "end": 1147, - "name": "SLT", - "source": 13 - }, - { - "begin": 1112, - "end": 1231, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 1112, - "end": 1231, - "name": "PUSH [tag]", - "source": 13, - "value": "35" - }, - { - "begin": 1112, - "end": 1231, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 1150, - "end": 1229, - "name": "PUSH [tag]", - "source": 13, - "value": "36" - }, - { - "begin": 1150, - "end": 1229, - "name": "PUSH [tag]", - "source": 13, - "value": "13" - }, - { - "begin": 1150, - "end": 1229, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1150, - "end": 1229, - "name": "tag", - "source": 13, - "value": "36" - }, - { - "begin": 1150, - "end": 1229, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1112, - "end": 1231, - "name": "tag", - "source": 13, - "value": "35" - }, - { - "begin": 1112, - "end": 1231, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1270, - "end": 1271, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1295, - "end": 1372, - "name": "PUSH [tag]", - "source": 13, - "value": "37" - }, - { - "begin": 1364, - "end": 1371, - "name": "DUP5", - "source": 13 - }, - { - "begin": 1355, - "end": 1361, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1344, - "end": 1353, - "name": "DUP6", - "source": 13 - }, - { - "begin": 1340, - "end": 1362, - "name": "ADD", - "source": 13 - }, - { - "begin": 1295, - "end": 1372, - "name": "PUSH [tag]", - "source": 13, - "value": "19" - }, - { - "begin": 1295, - "end": 1372, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1295, - "end": 1372, - "name": "tag", - "source": 13, - "value": "37" - }, - { - "begin": 1295, - "end": 1372, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1285, - "end": 1372, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 1285, - "end": 1372, - "name": "POP", - "source": 13 - }, - { - "begin": 1241, - "end": 1382, - "name": "POP", - "source": 13 - }, - { - "begin": 1012, - "end": 1389, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 1012, - "end": 1389, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 1012, - "end": 1389, - "name": "POP", - "source": 13 - }, - { - "begin": 1012, - "end": 1389, - "name": "POP", - "source": 13 - }, - { - "begin": 1012, - "end": 1389, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 344, - "end": 2411, - "name": "tag", - "source": 12, - "value": "11" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "80" - }, - { - "begin": 344, - "end": 2411, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "A0" - }, - { - "begin": 344, - "end": 2411, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "C0" - }, - { - "begin": 344, - "end": 2411, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "E0" - }, - { - "begin": 344, - "end": 2411, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH #[$]", - "source": 12, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [$]", - "source": 12, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 344, - "end": 2411, - "name": "CODECOPY", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 344, - "end": 2411, - "name": "ASSIGNIMMUTABLE", - "source": 12, - "value": "2113" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 344, - "end": 2411, - "name": "ASSIGNIMMUTABLE", - "source": 12, - "value": "2429" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 344, - "end": 2411, - "name": "ASSIGNIMMUTABLE", - "source": 12, - "value": "2427" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 344, - "end": 2411, - "name": "ASSIGNIMMUTABLE", - "source": 12, - "value": "2425" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH #[$]", - "source": 12, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 344, - "end": 2411, - "name": "RETURN", - "source": 12 - } - ], - ".data": { - "0": { - ".auxdata": "a2646970667358221220419bb2c691eb6a04020c67f4fbbd742291ef025cd4d09a945a4d19feff3e4e6264736f6c634300081a0033", - ".code": [ - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "80" - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 344, - "end": 2411, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "4" - }, - { - "begin": 344, - "end": 2411, - "name": "CALLDATASIZE", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "LT", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "1" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 344, - "end": 2411, - "name": "CALLDATALOAD", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "E0" - }, - { - "begin": 344, - "end": 2411, - "name": "SHR", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "DUP1", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "54FD4D50" - }, - { - "begin": 344, - "end": 2411, - "name": "EQ", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "3" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "DUP1", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "88E5B2D9" - }, - { - "begin": 344, - "end": 2411, - "name": "EQ", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "4" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "DUP1", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "91DB0B7E" - }, - { - "begin": 344, - "end": 2411, - "name": "EQ", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "5" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "DUP1", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "CE46E046" - }, - { - "begin": 344, - "end": 2411, - "name": "EQ", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "6" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "DUP1", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "E49617E1" - }, - { - "begin": 344, - "end": 2411, - "name": "EQ", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "7" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "DUP1", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "E60C3505" - }, - { - "begin": 344, - "end": 2411, - "name": "EQ", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "8" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "2" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMP", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "tag", - "source": 12, - "value": "1" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "CALLDATASIZE", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH [tag]", - "source": 12, - "value": "2" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 1140, - "end": 1151, - "name": "PUSH [tag]", - "source": 10, - "value": "11" - }, - { - "begin": 1140, - "end": 1149, - "name": "PUSH [tag]", - "source": 10, - "value": "12" - }, - { - "begin": 1140, - "end": 1151, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1140, - "end": 1151, - "name": "tag", - "source": 10, - "value": "11" - }, - { - "begin": 1140, - "end": 1151, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1135, - "end": 1197, - "name": "PUSH [tag]", - "source": 10, - "value": "13" - }, - { - "begin": 1135, - "end": 1197, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 1174, - "end": 1186, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "PUSH", - "source": 10, - "value": "1574F9F300000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 1174, - "end": 1186, - "name": "DUP2", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "MSTORE", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 1174, - "end": 1186, - "name": "ADD", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 1174, - "end": 1186, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "DUP1", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "SUB", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1174, - "end": 1186, - "name": "REVERT", - "source": 10 - }, - { - "begin": 1135, - "end": 1197, - "name": "tag", - "source": 10, - "value": "13" - }, - { - "begin": 1135, - "end": 1197, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 344, - "end": 2411, - "name": "STOP", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "tag", - "source": 12, - "value": "2" - }, - { - "begin": 344, - "end": 2411, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 344, - "end": 2411, - "name": "DUP1", - "source": 12 - }, - { - "begin": 344, - "end": 2411, - "name": "REVERT", - "source": 12 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "3" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "CALLVALUE", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "DUP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "ISZERO", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "14" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPI", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH", - "source": 11, - "value": "0" - }, - { - "begin": 945, - "end": 1180, - "name": "DUP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "REVERT", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "14" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "POP", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "15" - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "16" - }, - { - "begin": 945, - "end": 1180, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "15" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 945, - "end": 1180, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "17" - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP2", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH [tag]", - "source": 11, - "value": "18" - }, - { - "begin": 945, - "end": 1180, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "17" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 945, - "end": 1180, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "DUP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP2", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SUB", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "RETURN", - "source": 11 - }, - { - "begin": 3124, - "end": 4584, - "name": "tag", - "source": 10, - "value": "4" - }, - { - "begin": 3124, - "end": 4584, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH [tag]", - "source": 10, - "value": "19" - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 3124, - "end": 4584, - "name": "DUP1", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "CALLDATASIZE", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SUB", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "DUP2", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "ADD", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH [tag]", - "source": 10, - "value": "20" - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH [tag]", - "source": 10, - "value": "21" - }, - { - "begin": 3124, - "end": 4584, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "tag", - "source": 10, - "value": "20" - }, - { - "begin": 3124, - "end": 4584, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH [tag]", - "source": 10, - "value": "22" - }, - { - "begin": 3124, - "end": 4584, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "tag", - "source": 10, - "value": "19" - }, - { - "begin": 3124, - "end": 4584, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 3124, - "end": 4584, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH [tag]", - "source": 10, - "value": "23" - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH [tag]", - "source": 10, - "value": "24" - }, - { - "begin": 3124, - "end": 4584, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "tag", - "source": 10, - "value": "23" - }, - { - "begin": 3124, - "end": 4584, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 3124, - "end": 4584, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "DUP1", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SUB", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "RETURN", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "tag", - "source": 10, - "value": "5" - }, - { - "begin": 1433, - "end": 2894, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH [tag]", - "source": 10, - "value": "25" - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 1433, - "end": 2894, - "name": "DUP1", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "CALLDATASIZE", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SUB", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "DUP2", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "ADD", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH [tag]", - "source": 10, - "value": "26" - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH [tag]", - "source": 10, - "value": "21" - }, - { - "begin": 1433, - "end": 2894, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "tag", - "source": 10, - "value": "26" - }, - { - "begin": 1433, - "end": 2894, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH [tag]", - "source": 10, - "value": "27" - }, - { - "begin": 1433, - "end": 2894, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "tag", - "source": 10, - "value": "25" - }, - { - "begin": 1433, - "end": 2894, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 1433, - "end": 2894, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH [tag]", - "source": 10, - "value": "28" - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH [tag]", - "source": 10, - "value": "24" - }, - { - "begin": 1433, - "end": 2894, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "tag", - "source": 10, - "value": "28" - }, - { - "begin": 1433, - "end": 2894, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 1433, - "end": 2894, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "DUP1", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SUB", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "RETURN", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "tag", - "source": 10, - "value": "6" - }, - { - "begin": 972, - "end": 1057, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "CALLVALUE", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "DUP1", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "ISZERO", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "PUSH [tag]", - "source": 10, - "value": "29" - }, - { - "begin": 972, - "end": 1057, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 972, - "end": 1057, - "name": "DUP1", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "REVERT", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "tag", - "source": 10, - "value": "29" - }, - { - "begin": 972, - "end": 1057, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "POP", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "PUSH [tag]", - "source": 10, - "value": "30" - }, - { - "begin": 972, - "end": 1057, - "name": "PUSH [tag]", - "source": 10, - "value": "12" - }, - { - "begin": 972, - "end": 1057, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "tag", - "source": 10, - "value": "30" - }, - { - "begin": 972, - "end": 1057, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 972, - "end": 1057, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "PUSH [tag]", - "source": 10, - "value": "31" - }, - { - "begin": 972, - "end": 1057, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "PUSH [tag]", - "source": 10, - "value": "24" - }, - { - "begin": 972, - "end": 1057, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "tag", - "source": 10, - "value": "31" - }, - { - "begin": 972, - "end": 1057, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 972, - "end": 1057, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "DUP1", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "SUB", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "RETURN", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "tag", - "source": 10, - "value": "7" - }, - { - "begin": 2936, - "end": 3082, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH [tag]", - "source": 10, - "value": "32" - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 2936, - "end": 3082, - "name": "DUP1", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "CALLDATASIZE", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SUB", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "ADD", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH [tag]", - "source": 10, - "value": "33" - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH [tag]", - "source": 10, - "value": "34" - }, - { - "begin": 2936, - "end": 3082, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "tag", - "source": 10, - "value": "33" - }, - { - "begin": 2936, - "end": 3082, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH [tag]", - "source": 10, - "value": "35" - }, - { - "begin": 2936, - "end": 3082, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "tag", - "source": 10, - "value": "32" - }, - { - "begin": 2936, - "end": 3082, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 2936, - "end": 3082, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH [tag]", - "source": 10, - "value": "36" - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH [tag]", - "source": 10, - "value": "24" - }, - { - "begin": 2936, - "end": 3082, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "tag", - "source": 10, - "value": "36" - }, - { - "begin": 2936, - "end": 3082, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 2936, - "end": 3082, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "DUP1", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SUB", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "RETURN", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "tag", - "source": 10, - "value": "8" - }, - { - "begin": 1245, - "end": 1391, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH [tag]", - "source": 10, - "value": "37" - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 1245, - "end": 1391, - "name": "DUP1", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "CALLDATASIZE", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SUB", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "DUP2", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "ADD", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH [tag]", - "source": 10, - "value": "38" - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH [tag]", - "source": 10, - "value": "34" - }, - { - "begin": 1245, - "end": 1391, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "tag", - "source": 10, - "value": "38" - }, - { - "begin": 1245, - "end": 1391, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH [tag]", - "source": 10, - "value": "39" - }, - { - "begin": 1245, - "end": 1391, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "tag", - "source": 10, - "value": "37" - }, - { - "begin": 1245, - "end": 1391, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 1245, - "end": 1391, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH [tag]", - "source": 10, - "value": "40" - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH [tag]", - "source": 10, - "value": "24" - }, - { - "begin": 1245, - "end": 1391, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "tag", - "source": 10, - "value": "40" - }, - { - "begin": 1245, - "end": 1391, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 1245, - "end": 1391, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "DUP1", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SUB", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "RETURN", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "name": "tag", - "source": 10, - "value": "12" - }, - { - "begin": 972, - "end": 1057, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1022, - "end": 1026, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 972, - "end": 1057, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 972, - "end": 1057, - "jumpType": "[out]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 945, - "end": 1180, - "name": "tag", - "source": 11, - "value": "16" - }, - { - "begin": 945, - "end": 1180, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 987, - "end": 1000, - "name": "PUSH", - "source": 11, - "value": "60" - }, - { - "begin": 1072, - "end": 1096, - "name": "PUSH [tag]", - "source": 11, - "value": "43" - }, - { - "begin": 1089, - "end": 1095, - "name": "PUSHIMMUTABLE", - "source": 11, - "value": "2425" - }, - { - "begin": 1072, - "end": 1088, - "name": "PUSH [tag]", - "source": 11, - "value": "44" - }, - { - "begin": 1072, - "end": 1096, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 1072, - "end": 1096, - "name": "tag", - "source": 11, - "value": "43" - }, - { - "begin": 1072, - "end": 1096, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 1103, - "end": 1127, - "name": "PUSH [tag]", - "source": 11, - "value": "45" - }, - { - "begin": 1120, - "end": 1126, - "name": "PUSHIMMUTABLE", - "source": 11, - "value": "2427" - }, - { - "begin": 1103, - "end": 1119, - "name": "PUSH [tag]", - "source": 11, - "value": "44" - }, - { - "begin": 1103, - "end": 1127, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 1103, - "end": 1127, - "name": "tag", - "source": 11, - "value": "45" - }, - { - "begin": 1103, - "end": 1127, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 1134, - "end": 1158, - "name": "PUSH [tag]", - "source": 11, - "value": "46" - }, - { - "begin": 1151, - "end": 1157, - "name": "PUSHIMMUTABLE", - "source": 11, - "value": "2429" - }, - { - "begin": 1134, - "end": 1150, - "name": "PUSH [tag]", - "source": 11, - "value": "44" - }, - { - "begin": 1134, - "end": 1158, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 1134, - "end": 1158, - "name": "tag", - "source": 11, - "value": "46" - }, - { - "begin": 1134, - "end": 1158, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 1055, - "end": 1159, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "20" - }, - { - "begin": 1055, - "end": 1159, - "name": "ADD", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH [tag]", - "source": 11, - "value": "47" - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP4", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP3", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP2", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH [tag]", - "source": 11, - "value": "48" - }, - { - "begin": 1055, - "end": 1159, - "jumpType": "[in]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "tag", - "source": 11, - "value": "47" - }, - { - "begin": 1055, - "end": 1159, - "name": "JUMPDEST", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 1055, - "end": 1159, - "name": "MLOAD", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "20" - }, - { - "begin": 1055, - "end": 1159, - "name": "DUP2", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "DUP4", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SUB", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SUB", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "DUP2", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 1055, - "end": 1159, - "name": "PUSH", - "source": 11, - "value": "40" - }, - { - "begin": 1055, - "end": 1159, - "name": "MSTORE", - "source": 11 - }, - { - "begin": 1012, - "end": 1173, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 1012, - "end": 1173, - "name": "POP", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "name": "SWAP1", - "source": 11 - }, - { - "begin": 945, - "end": 1180, - "jumpType": "[out]", - "name": "JUMP", - "source": 11 - }, - { - "begin": 3124, - "end": 4584, - "name": "tag", - "source": 10, - "value": "22" - }, - { - "begin": 3124, - "end": 4584, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3265, - "end": 3269, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 901, - "end": 911, - "name": "PUSH [tag]", - "source": 10, - "value": "50" - }, - { - "begin": 901, - "end": 909, - "name": "PUSH [tag]", - "source": 10, - "value": "51" - }, - { - "begin": 901, - "end": 911, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 901, - "end": 911, - "name": "tag", - "source": 10, - "value": "50" - }, - { - "begin": 901, - "end": 911, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3281, - "end": 3295, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 3298, - "end": 3310, - "modifierDepth": 1, - "name": "DUP6", - "source": 10 - }, - { - "begin": 3298, - "end": 3310, - "modifierDepth": 1, - "name": "DUP6", - "source": 10 - }, - { - "begin": 3298, - "end": 3317, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3298, - "end": 3317, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 3281, - "end": 3317, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3281, - "end": 3317, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 3341, - "end": 3347, - "modifierDepth": 1, - "name": "DUP4", - "source": 10 - }, - { - "begin": 3341, - "end": 3347, - "modifierDepth": 1, - "name": "DUP4", - "source": 10 - }, - { - "begin": 3341, - "end": 3354, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3341, - "end": 3354, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 3331, - "end": 3337, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 3331, - "end": 3354, - "modifierDepth": 1, - "name": "EQ", - "source": 10 - }, - { - "begin": 3327, - "end": 3403, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "53" - }, - { - "begin": 3327, - "end": 3403, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "947D5A8400000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "MSTORE", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "DUP1", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "SUB", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3377, - "end": 3392, - "modifierDepth": 1, - "name": "REVERT", - "source": 10 - }, - { - "begin": 3327, - "end": 3403, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "53" - }, - { - "begin": 3327, - "end": 3403, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3810, - "end": 3832, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 3835, - "end": 3844, - "modifierDepth": 1, - "name": "CALLVALUE", - "source": 10 - }, - { - "begin": 3810, - "end": 3844, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3810, - "end": 3844, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 3860, - "end": 3869, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "54" - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3879, - "end": 3885, - "modifierDepth": 1, - "name": "DUP3", - "source": 10 - }, - { - "begin": 3875, - "end": 3876, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 3875, - "end": 3885, - "modifierDepth": 1, - "name": "LT", - "source": 10 - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "ISZERO", - "source": 10 - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "55" - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 4012, - "end": 4025, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 4028, - "end": 4034, - "modifierDepth": 1, - "name": "DUP7", - "source": 10 - }, - { - "begin": 4028, - "end": 4034, - "modifierDepth": 1, - "name": "DUP7", - "source": 10 - }, - { - "begin": 4035, - "end": 4036, - "modifierDepth": 1, - "name": "DUP4", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "LT", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "57" - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "58" - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "59" - }, - { - "begin": 4028, - "end": 4037, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "58" - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "57" - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "20" - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "MUL", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 4028, - "end": 4037, - "modifierDepth": 1, - "name": "CALLDATALOAD", - "source": 10 - }, - { - "begin": 4012, - "end": 4037, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 4012, - "end": 4037, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4063, - "end": 4077, - "modifierDepth": 1, - "name": "DUP3", - "source": 10 - }, - { - "begin": 4055, - "end": 4060, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 4055, - "end": 4077, - "modifierDepth": 1, - "name": "GT", - "source": 10 - }, - { - "begin": 4051, - "end": 4138, - "modifierDepth": 1, - "name": "ISZERO", - "source": 10 - }, - { - "begin": 4051, - "end": 4138, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "60" - }, - { - "begin": 4051, - "end": 4138, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "1101129400000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "MSTORE", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "DUP1", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "SUB", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 4104, - "end": 4123, - "modifierDepth": 1, - "name": "REVERT", - "source": 10 - }, - { - "begin": 4051, - "end": 4138, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "60" - }, - { - "begin": 4051, - "end": 4138, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 4266, - "end": 4298, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "61" - }, - { - "begin": 4275, - "end": 4287, - "modifierDepth": 1, - "name": "DUP10", - "source": 10 - }, - { - "begin": 4275, - "end": 4287, - "modifierDepth": 1, - "name": "DUP10", - "source": 10 - }, - { - "begin": 4288, - "end": 4289, - "modifierDepth": 1, - "name": "DUP5", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "LT", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "62" - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "63" - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "59" - }, - { - "begin": 4275, - "end": 4290, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "63" - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "62" - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "20" - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "MUL", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "64" - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "65" - }, - { - "begin": 4275, - "end": 4290, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "64" - }, - { - "begin": 4275, - "end": 4290, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 4292, - "end": 4297, - "modifierDepth": 1, - "name": "DUP3", - "source": 10 - }, - { - "begin": 4266, - "end": 4274, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "66" - }, - { - "begin": 4266, - "end": 4298, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 4266, - "end": 4298, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "61" - }, - { - "begin": 4266, - "end": 4298, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 4261, - "end": 4345, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "67" - }, - { - "begin": 4261, - "end": 4345, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 4325, - "end": 4330, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 4318, - "end": 4330, - "modifierDepth": 1, - "name": "SWAP5", - "source": 10 - }, - { - "begin": 4318, - "end": 4330, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4318, - "end": 4330, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4318, - "end": 4330, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4318, - "end": 4330, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4318, - "end": 4330, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4318, - "end": 4330, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "52" - }, - { - "begin": 4318, - "end": 4330, - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 4261, - "end": 4345, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "67" - }, - { - "begin": 4261, - "end": 4345, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 4526, - "end": 4531, - "modifierDepth": 1, - "name": "DUP1", - "source": 10 - }, - { - "begin": 4508, - "end": 4531, - "modifierDepth": 1, - "name": "DUP4", - "source": 10 - }, - { - "begin": 4508, - "end": 4531, - "modifierDepth": 1, - "name": "SUB", - "source": 10 - }, - { - "begin": 4508, - "end": 4531, - "modifierDepth": 1, - "name": "SWAP3", - "source": 10 - }, - { - "begin": 4508, - "end": 4531, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 3908, - "end": 4556, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 3891, - "end": 3906, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "68" - }, - { - "begin": 3904, - "end": 3905, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 3891, - "end": 3903, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "69" - }, - { - "begin": 3891, - "end": 3906, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 3891, - "end": 3906, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "68" - }, - { - "begin": 3891, - "end": 3906, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3887, - "end": 3906, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3887, - "end": 3906, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "54" - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "55" - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3855, - "end": 4556, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4573, - "end": 4577, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "1" - }, - { - "begin": 4566, - "end": 4577, - "modifierDepth": 1, - "name": "SWAP3", - "source": 10 - }, - { - "begin": 4566, - "end": 4577, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4566, - "end": 4577, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 4566, - "end": 4577, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 922, - "end": 923, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "52" - }, - { - "begin": 922, - "end": 923, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP5", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "SWAP4", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "POP", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "POP", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "POP", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "name": "POP", - "source": 10 - }, - { - "begin": 3124, - "end": 4584, - "jumpType": "[out]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "tag", - "source": 10, - "value": "27" - }, - { - "begin": 1433, - "end": 2894, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1574, - "end": 1578, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 901, - "end": 911, - "name": "PUSH [tag]", - "source": 10, - "value": "71" - }, - { - "begin": 901, - "end": 909, - "name": "PUSH [tag]", - "source": 10, - "value": "51" - }, - { - "begin": 901, - "end": 911, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 901, - "end": 911, - "name": "tag", - "source": 10, - "value": "71" - }, - { - "begin": 901, - "end": 911, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1590, - "end": 1604, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 1607, - "end": 1619, - "modifierDepth": 1, - "name": "DUP6", - "source": 10 - }, - { - "begin": 1607, - "end": 1619, - "modifierDepth": 1, - "name": "DUP6", - "source": 10 - }, - { - "begin": 1607, - "end": 1626, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1607, - "end": 1626, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 1590, - "end": 1626, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1590, - "end": 1626, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 1650, - "end": 1656, - "modifierDepth": 1, - "name": "DUP4", - "source": 10 - }, - { - "begin": 1650, - "end": 1656, - "modifierDepth": 1, - "name": "DUP4", - "source": 10 - }, - { - "begin": 1650, - "end": 1663, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1650, - "end": 1663, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 1640, - "end": 1646, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 1640, - "end": 1663, - "modifierDepth": 1, - "name": "EQ", - "source": 10 - }, - { - "begin": 1636, - "end": 1712, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "73" - }, - { - "begin": 1636, - "end": 1712, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "947D5A8400000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "MSTORE", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "DUP1", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "SUB", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1686, - "end": 1701, - "modifierDepth": 1, - "name": "REVERT", - "source": 10 - }, - { - "begin": 1636, - "end": 1712, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "73" - }, - { - "begin": 1636, - "end": 1712, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2119, - "end": 2141, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 2144, - "end": 2153, - "modifierDepth": 1, - "name": "CALLVALUE", - "source": 10 - }, - { - "begin": 2119, - "end": 2153, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2119, - "end": 2153, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2169, - "end": 2178, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "74" - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2188, - "end": 2194, - "modifierDepth": 1, - "name": "DUP3", - "source": 10 - }, - { - "begin": 2184, - "end": 2185, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2184, - "end": 2194, - "modifierDepth": 1, - "name": "LT", - "source": 10 - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "ISZERO", - "source": 10 - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "75" - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 2321, - "end": 2334, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 2337, - "end": 2343, - "modifierDepth": 1, - "name": "DUP7", - "source": 10 - }, - { - "begin": 2337, - "end": 2343, - "modifierDepth": 1, - "name": "DUP7", - "source": 10 - }, - { - "begin": 2344, - "end": 2345, - "modifierDepth": 1, - "name": "DUP4", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "LT", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "77" - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "78" - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "59" - }, - { - "begin": 2337, - "end": 2346, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "78" - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "77" - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "20" - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "MUL", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 2337, - "end": 2346, - "modifierDepth": 1, - "name": "CALLDATALOAD", - "source": 10 - }, - { - "begin": 2321, - "end": 2346, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2321, - "end": 2346, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2372, - "end": 2386, - "modifierDepth": 1, - "name": "DUP3", - "source": 10 - }, - { - "begin": 2364, - "end": 2369, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2364, - "end": 2386, - "modifierDepth": 1, - "name": "GT", - "source": 10 - }, - { - "begin": 2360, - "end": 2447, - "modifierDepth": 1, - "name": "ISZERO", - "source": 10 - }, - { - "begin": 2360, - "end": 2447, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "79" - }, - { - "begin": 2360, - "end": 2447, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "1101129400000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "MSTORE", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "DUP1", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "SUB", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2413, - "end": 2432, - "modifierDepth": 1, - "name": "REVERT", - "source": 10 - }, - { - "begin": 2360, - "end": 2447, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "79" - }, - { - "begin": 2360, - "end": 2447, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2576, - "end": 2608, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "80" - }, - { - "begin": 2585, - "end": 2597, - "modifierDepth": 1, - "name": "DUP10", - "source": 10 - }, - { - "begin": 2585, - "end": 2597, - "modifierDepth": 1, - "name": "DUP10", - "source": 10 - }, - { - "begin": 2598, - "end": 2599, - "modifierDepth": 1, - "name": "DUP5", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "LT", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "81" - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "82" - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "59" - }, - { - "begin": 2585, - "end": 2600, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "82" - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "81" - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "20" - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "MUL", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "ADD", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "83" - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "65" - }, - { - "begin": 2585, - "end": 2600, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "83" - }, - { - "begin": 2585, - "end": 2600, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2602, - "end": 2607, - "modifierDepth": 1, - "name": "DUP3", - "source": 10 - }, - { - "begin": 2576, - "end": 2584, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "84" - }, - { - "begin": 2576, - "end": 2608, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 2576, - "end": 2608, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "80" - }, - { - "begin": 2576, - "end": 2608, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2571, - "end": 2655, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "85" - }, - { - "begin": 2571, - "end": 2655, - "modifierDepth": 1, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 2635, - "end": 2640, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 2628, - "end": 2640, - "modifierDepth": 1, - "name": "SWAP5", - "source": 10 - }, - { - "begin": 2628, - "end": 2640, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2628, - "end": 2640, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2628, - "end": 2640, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2628, - "end": 2640, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2628, - "end": 2640, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2628, - "end": 2640, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "72" - }, - { - "begin": 2628, - "end": 2640, - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 2571, - "end": 2655, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "85" - }, - { - "begin": 2571, - "end": 2655, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2836, - "end": 2841, - "modifierDepth": 1, - "name": "DUP1", - "source": 10 - }, - { - "begin": 2818, - "end": 2841, - "modifierDepth": 1, - "name": "DUP4", - "source": 10 - }, - { - "begin": 2818, - "end": 2841, - "modifierDepth": 1, - "name": "SUB", - "source": 10 - }, - { - "begin": 2818, - "end": 2841, - "modifierDepth": 1, - "name": "SWAP3", - "source": 10 - }, - { - "begin": 2818, - "end": 2841, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2217, - "end": 2866, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2200, - "end": 2215, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "86" - }, - { - "begin": 2213, - "end": 2214, - "modifierDepth": 1, - "name": "DUP2", - "source": 10 - }, - { - "begin": 2200, - "end": 2212, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "69" - }, - { - "begin": 2200, - "end": 2215, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 2200, - "end": 2215, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "86" - }, - { - "begin": 2200, - "end": 2215, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2196, - "end": 2215, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2196, - "end": 2215, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "74" - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "75" - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 2164, - "end": 2866, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2883, - "end": 2887, - "modifierDepth": 1, - "name": "PUSH", - "source": 10, - "value": "1" - }, - { - "begin": 2876, - "end": 2887, - "modifierDepth": 1, - "name": "SWAP3", - "source": 10 - }, - { - "begin": 2876, - "end": 2887, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2876, - "end": 2887, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2876, - "end": 2887, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 922, - "end": 923, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "72" - }, - { - "begin": 922, - "end": 923, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP5", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "SWAP4", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "POP", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "POP", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "POP", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "name": "POP", - "source": 10 - }, - { - "begin": 1433, - "end": 2894, - "jumpType": "[out]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "tag", - "source": 10, - "value": "35" - }, - { - "begin": 2936, - "end": 3082, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3020, - "end": 3024, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 901, - "end": 911, - "name": "PUSH [tag]", - "source": 10, - "value": "88" - }, - { - "begin": 901, - "end": 909, - "name": "PUSH [tag]", - "source": 10, - "value": "51" - }, - { - "begin": 901, - "end": 911, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 901, - "end": 911, - "name": "tag", - "source": 10, - "value": "88" - }, - { - "begin": 901, - "end": 911, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3043, - "end": 3075, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "90" - }, - { - "begin": 3052, - "end": 3063, - "modifierDepth": 1, - "name": "DUP3", - "source": 10 - }, - { - "begin": 3065, - "end": 3074, - "modifierDepth": 1, - "name": "CALLVALUE", - "source": 10 - }, - { - "begin": 3043, - "end": 3051, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "66" - }, - { - "begin": 3043, - "end": 3075, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 3043, - "end": 3075, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "90" - }, - { - "begin": 3043, - "end": 3075, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 3036, - "end": 3075, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 3036, - "end": 3075, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "name": "POP", - "source": 10 - }, - { - "begin": 2936, - "end": 3082, - "jumpType": "[out]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "tag", - "source": 10, - "value": "39" - }, - { - "begin": 1245, - "end": 1391, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1329, - "end": 1333, - "name": "PUSH", - "source": 10, - "value": "0" - }, - { - "begin": 901, - "end": 911, - "name": "PUSH [tag]", - "source": 10, - "value": "92" - }, - { - "begin": 901, - "end": 909, - "name": "PUSH [tag]", - "source": 10, - "value": "51" - }, - { - "begin": 901, - "end": 911, - "jumpType": "[in]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 901, - "end": 911, - "name": "tag", - "source": 10, - "value": "92" - }, - { - "begin": 901, - "end": 911, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1352, - "end": 1384, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "94" - }, - { - "begin": 1361, - "end": 1372, - "modifierDepth": 1, - "name": "DUP3", - "source": 10 - }, - { - "begin": 1374, - "end": 1383, - "modifierDepth": 1, - "name": "CALLVALUE", - "source": 10 - }, - { - "begin": 1352, - "end": 1360, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 10, - "value": "84" - }, - { - "begin": 1352, - "end": 1384, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 10 - }, - { - "begin": 1352, - "end": 1384, - "modifierDepth": 1, - "name": "tag", - "source": 10, - "value": "94" - }, - { - "begin": 1352, - "end": 1384, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 1345, - "end": 1384, - "modifierDepth": 1, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1345, - "end": 1384, - "modifierDepth": 1, - "name": "POP", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "name": "POP", - "source": 10 - }, - { - "begin": 1245, - "end": 1391, - "jumpType": "[out]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 637, - "end": 1335, - "name": "tag", - "source": 2, - "value": "44" - }, - { - "begin": 637, - "end": 1335, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 693, - "end": 706, - "name": "PUSH", - "source": 2, - "value": "60" - }, - { - "begin": 742, - "end": 756, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 779, - "end": 780, - "name": "PUSH", - "source": 2, - "value": "1" - }, - { - "begin": 759, - "end": 776, - "name": "PUSH [tag]", - "source": 2, - "value": "96" - }, - { - "begin": 770, - "end": 775, - "name": "DUP5", - "source": 2 - }, - { - "begin": 759, - "end": 769, - "name": "PUSH [tag]", - "source": 2, - "value": "97" - }, - { - "begin": 759, - "end": 776, - "jumpType": "[in]", - "name": "JUMP", - "source": 2 - }, - { - "begin": 759, - "end": 776, - "name": "tag", - "source": 2, - "value": "96" - }, - { - "begin": 759, - "end": 776, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 759, - "end": 780, - "name": "ADD", - "source": 2 - }, - { - "begin": 742, - "end": 780, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 742, - "end": 780, - "name": "POP", - "source": 2 - }, - { - "begin": 794, - "end": 814, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 828, - "end": 834, - "name": "DUP2", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "FFFFFFFFFFFFFFFF" - }, - { - "begin": 817, - "end": 835, - "name": "DUP2", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "GT", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "ISZERO", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH [tag]", - "source": 2, - "value": "98" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH [tag]", - "source": 2, - "value": "99" - }, - { - "begin": 817, - "end": 835, - "name": "PUSH [tag]", - "source": 2, - "value": "100" - }, - { - "begin": 817, - "end": 835, - "jumpType": "[in]", - "name": "JUMP", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "tag", - "source": 2, - "value": "99" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "tag", - "source": 2, - "value": "98" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "40" - }, - { - "begin": 817, - "end": 835, - "name": "MLOAD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP3", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "MSTORE", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "1F" - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "1F" - }, - { - "begin": 817, - "end": 835, - "name": "NOT", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "AND", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP3", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "40" - }, - { - "begin": 817, - "end": 835, - "name": "MSTORE", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "ISZERO", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH [tag]", - "source": 2, - "value": "101" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP2", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "PUSH", - "source": 2, - "value": "1" - }, - { - "begin": 817, - "end": 835, - "name": "DUP3", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "MUL", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "CALLDATASIZE", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP4", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "CALLDATACOPY", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "DUP3", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "ADD", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "SWAP2", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "tag", - "source": 2, - "value": "101" - }, - { - "begin": 817, - "end": 835, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 817, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 794, - "end": 835, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 794, - "end": 835, - "name": "POP", - "source": 2 - }, - { - "begin": 849, - "end": 860, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 975, - "end": 981, - "name": "DUP3", - "source": 2 - }, - { - "begin": 971, - "end": 973, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { - "begin": 967, - "end": 982, - "name": "ADD", - "source": 2 - }, - { - "begin": 959, - "end": 965, - "name": "DUP3", - "source": 2 - }, - { - "begin": 955, - "end": 983, - "name": "ADD", - "source": 2 - }, - { - "begin": 948, - "end": 983, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 948, - "end": 983, - "name": "POP", - "source": 2 - }, - { - "begin": 1010, - "end": 1292, - "name": "tag", - "source": 2, - "value": "102" - }, - { - "begin": 1010, - "end": 1292, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 1017, - "end": 1021, - "name": "PUSH", - "source": 2, - "value": "1" - }, - { - "begin": 1010, - "end": 1292, - "name": "ISZERO", - "source": 2 - }, - { - "begin": 1010, - "end": 1292, - "name": "PUSH [tag]", - "source": 2, - "value": "103" - }, - { - "begin": 1010, - "end": 1292, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "DUP1", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "DUP1", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "PUSH", - "source": 2, - "value": "1" - }, - { - "begin": 1041, - "end": 1046, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "SUB", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "SWAP2", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "POP", - "source": 2 - }, - { - "begin": 1041, - "end": 1046, - "name": "POP", - "source": 2 - }, - { - "begin": 1180, - "end": 1190, - "name": "PUSH", - "source": 2, - "value": "3031323334353637383961626364656600000000000000000000000000000000" - }, - { - "begin": 1175, - "end": 1177, - "name": "PUSH", - "source": 2, - "value": "A" - }, - { - "begin": 1168, - "end": 1173, - "name": "DUP7", - "source": 2 - }, - { - "begin": 1164, - "end": 1178, - "name": "MOD", - "source": 2 - }, - { - "begin": 1159, - "end": 1191, - "name": "BYTE", - "source": 2 - }, - { - "begin": 1154, - "end": 1157, - "name": "DUP2", - "source": 2 - }, - { - "begin": 1146, - "end": 1192, - "name": "MSTORE8", - "source": 2 - }, - { - "begin": 1236, - "end": 1238, - "name": "PUSH", - "source": 2, - "value": "A" - }, - { - "begin": 1227, - "end": 1238, - "name": "DUP6", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "DUP2", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "PUSH [tag]", - "source": 2, - "value": "104" - }, - { - "begin": 1227, - "end": 1238, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "PUSH [tag]", - "source": 2, - "value": "105" - }, - { - "begin": 1227, - "end": 1238, - "name": "PUSH [tag]", - "source": 2, - "value": "106" - }, - { - "begin": 1227, - "end": 1238, - "jumpType": "[in]", - "name": "JUMP", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "tag", - "source": 2, - "value": "105" - }, - { - "begin": 1227, - "end": 1238, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "tag", - "source": 2, - "value": "104" - }, - { - "begin": 1227, - "end": 1238, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "DIV", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "SWAP5", - "source": 2 - }, - { - "begin": 1227, - "end": 1238, - "name": "POP", - "source": 2 - }, - { - "begin": 1269, - "end": 1270, - "name": "PUSH", - "source": 2, - "value": "0" - }, - { - "begin": 1260, - "end": 1265, - "name": "DUP6", - "source": 2 - }, - { - "begin": 1260, - "end": 1270, - "name": "SUB", - "source": 2 - }, - { - "begin": 1010, - "end": 1292, - "name": "PUSH [tag]", - "source": 2, - "value": "102" - }, - { - "begin": 1256, - "end": 1277, - "name": "JUMPI", - "source": 2 - }, - { - "begin": 1010, - "end": 1292, - "name": "tag", - "source": 2, - "value": "103" - }, - { - "begin": 1010, - "end": 1292, - "name": "JUMPDEST", - "source": 2 - }, - { - "begin": 1312, - "end": 1318, - "name": "DUP2", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "SWAP4", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "POP", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "POP", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "POP", - "source": 2 - }, - { - "begin": 1305, - "end": 1318, - "name": "POP", - "source": 2 - }, - { - "begin": 637, - "end": 1335, - "name": "SWAP2", - "source": 2 - }, - { - "begin": 637, - "end": 1335, - "name": "SWAP1", - "source": 2 - }, - { - "begin": 637, - "end": 1335, - "name": "POP", - "source": 2 - }, - { - "begin": 637, - "end": 1335, - "jumpType": "[out]", - "name": "JUMP", - "source": 2 - }, - { - "begin": 6031, - "end": 6159, - "name": "tag", - "source": 10, - "value": "51" - }, - { - "begin": 6031, - "end": 6159, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 6100, - "end": 6104, - "name": "PUSHIMMUTABLE", - "source": 10, - "value": "2113" - }, - { - "begin": 6078, - "end": 6105, - "name": "PUSH", - "source": 10, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 6078, - "end": 6105, - "name": "AND", - "source": 10 - }, - { - "begin": 6078, - "end": 6088, - "name": "CALLER", - "source": 10 - }, - { - "begin": 6078, - "end": 6105, - "name": "PUSH", - "source": 10, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 6078, - "end": 6105, - "name": "AND", - "source": 10 - }, - { - "begin": 6078, - "end": 6105, - "name": "EQ", - "source": 10 - }, - { - "begin": 6074, - "end": 6153, - "name": "PUSH [tag]", - "source": 10, - "value": "109" - }, - { - "begin": 6074, - "end": 6153, - "name": "JUMPI", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 6128, - "end": 6142, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "PUSH", - "source": 10, - "value": "4CA8886700000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 6128, - "end": 6142, - "name": "DUP2", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "MSTORE", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "PUSH", - "source": 10, - "value": "4" - }, - { - "begin": 6128, - "end": 6142, - "name": "ADD", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "PUSH", - "source": 10, - "value": "40" - }, - { - "begin": 6128, - "end": 6142, - "name": "MLOAD", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "DUP1", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "SWAP2", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "SUB", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "SWAP1", - "source": 10 - }, - { - "begin": 6128, - "end": 6142, - "name": "REVERT", - "source": 10 - }, - { - "begin": 6074, - "end": 6153, - "name": "tag", - "source": 10, - "value": "109" - }, - { - "begin": 6074, - "end": 6153, - "name": "JUMPDEST", - "source": 10 - }, - { - "begin": 6031, - "end": 6159, - "jumpType": "[out]", - "name": "JUMP", - "source": 10 - }, - { - "begin": 2268, - "end": 2409, - "name": "tag", - "source": 12, - "value": "66" - }, - { - "begin": 2268, - "end": 2409, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 2375, - "end": 2379, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 2398, - "end": 2402, - "name": "PUSH", - "source": 12, - "value": "1" - }, - { - "begin": 2391, - "end": 2402, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 2391, - "end": 2402, - "name": "POP", - "source": 12 - }, - { - "begin": 2268, - "end": 2409, - "name": "SWAP3", - "source": 12 - }, - { - "begin": 2268, - "end": 2409, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 2268, - "end": 2409, - "name": "POP", - "source": 12 - }, - { - "begin": 2268, - "end": 2409, - "name": "POP", - "source": 12 - }, - { - "begin": 2268, - "end": 2409, - "jumpType": "[out]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 1397, - "end": 1499, - "name": "tag", - "source": 5, - "value": "69" - }, - { - "begin": 1397, - "end": 1499, - "name": "JUMPDEST", - "source": 5 - }, - { - "begin": 1444, - "end": 1453, - "name": "PUSH", - "source": 5, - "value": "0" - }, - { - "begin": 1489, - "end": 1490, - "name": "PUSH", - "source": 5, - "value": "1" - }, - { - "begin": 1485, - "end": 1486, - "name": "DUP3", - "source": 5 - }, - { - "begin": 1485, - "end": 1490, - "name": "ADD", - "source": 5 - }, - { - "begin": 1481, - "end": 1490, - "name": "SWAP1", - "source": 5 - }, - { - "begin": 1481, - "end": 1490, - "name": "POP", - "source": 5 - }, - { - "begin": 1397, - "end": 1499, - "name": "SWAP2", - "source": 5 - }, - { - "begin": 1397, - "end": 1499, - "name": "SWAP1", - "source": 5 - }, - { - "begin": 1397, - "end": 1499, - "name": "POP", - "source": 5 - }, - { - "begin": 1397, - "end": 1499, - "jumpType": "[out]", - "name": "JUMP", - "source": 5 - }, - { - "begin": 450, - "end": 1642, - "name": "tag", - "source": 12, - "value": "84" - }, - { - "begin": 450, - "end": 1642, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 553, - "end": 557, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 697, - "end": 698, - "name": "DUP1", - "source": 12 - }, - { - "begin": 664, - "end": 699, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 664, - "end": 699, - "name": "AND", - "source": 12 - }, - { - "begin": 664, - "end": 675, - "name": "DUP4", - "source": 12 - }, - { - "begin": 664, - "end": 685, - "name": "PUSH", - "source": 12, - "value": "C0" - }, - { - "begin": 664, - "end": 685, - "name": "ADD", - "source": 12 - }, - { - "begin": 664, - "end": 685, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 664, - "end": 685, - "name": "DUP2", - "source": 12 - }, - { - "begin": 664, - "end": 685, - "name": "ADD", - "source": 12 - }, - { - "begin": 664, - "end": 685, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 664, - "end": 685, - "name": "PUSH [tag]", - "source": 12, - "value": "113" - }, - { - "begin": 664, - "end": 685, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 664, - "end": 685, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 664, - "end": 685, - "name": "PUSH [tag]", - "source": 12, - "value": "114" - }, - { - "begin": 664, - "end": 685, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 664, - "end": 685, - "name": "tag", - "source": 12, - "value": "113" - }, - { - "begin": 664, - "end": 685, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 664, - "end": 699, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 664, - "end": 699, - "name": "AND", - "source": 12 - }, - { - "begin": 664, - "end": 699, - "name": "SUB", - "source": 12 - }, - { - "begin": 660, - "end": 737, - "name": "PUSH [tag]", - "source": 12, - "value": "115" - }, - { - "begin": 660, - "end": 737, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 722, - "end": 726, - "name": "PUSH", - "source": 12, - "value": "1" - }, - { - "begin": 715, - "end": 726, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 715, - "end": 726, - "name": "POP", - "source": 12 - }, - { - "begin": 715, - "end": 726, - "name": "PUSH [tag]", - "source": 12, - "value": "112" - }, - { - "begin": 715, - "end": 726, - "name": "JUMP", - "source": 12 - }, - { - "begin": 660, - "end": 737, - "name": "tag", - "source": 12, - "value": "115" - }, - { - "begin": 660, - "end": 737, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 848, - "end": 849, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 811, - "end": 822, - "name": "DUP4", - "source": 12 - }, - { - "begin": 811, - "end": 832, - "name": "PUSH", - "source": 12, - "value": "C0" - }, - { - "begin": 811, - "end": 832, - "name": "ADD", - "source": 12 - }, - { - "begin": 811, - "end": 832, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 811, - "end": 832, - "name": "DUP2", - "source": 12 - }, - { - "begin": 811, - "end": 832, - "name": "ADD", - "source": 12 - }, - { - "begin": 811, - "end": 832, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 811, - "end": 832, - "name": "PUSH [tag]", - "source": 12, - "value": "116" - }, - { - "begin": 811, - "end": 832, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 811, - "end": 832, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 811, - "end": 832, - "name": "PUSH [tag]", - "source": 12, - "value": "114" - }, - { - "begin": 811, - "end": 832, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 811, - "end": 832, - "name": "tag", - "source": 12, - "value": "116" - }, - { - "begin": 811, - "end": 832, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 811, - "end": 844, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 811, - "end": 844, - "name": "AND", - "source": 12 - }, - { - "begin": 811, - "end": 844, - "name": "EXTCODESIZE", - "source": 12 - }, - { - "begin": 811, - "end": 849, - "name": "SUB", - "source": 12 - }, - { - "begin": 807, - "end": 888, - "name": "PUSH [tag]", - "source": 12, - "value": "117" - }, - { - "begin": 807, - "end": 888, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 872, - "end": 877, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 865, - "end": 877, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 865, - "end": 877, - "name": "POP", - "source": 12 - }, - { - "begin": 865, - "end": 877, - "name": "PUSH [tag]", - "source": 12, - "value": "112" - }, - { - "begin": 865, - "end": 877, - "name": "JUMP", - "source": 12 - }, - { - "begin": 807, - "end": 888, - "name": "tag", - "source": 12, - "value": "117" - }, - { - "begin": 807, - "end": 888, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 954, - "end": 970, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH [tag]", - "source": 12, - "value": "118" - }, - { - "begin": 996, - "end": 1007, - "name": "DUP5", - "source": 12 - }, - { - "begin": 996, - "end": 1012, - "name": "DUP1", - "source": 12 - }, - { - "begin": 996, - "end": 1012, - "name": "PUSH", - "source": 12, - "value": "120" - }, - { - "begin": 996, - "end": 1012, - "name": "ADD", - "source": 12 - }, - { - "begin": 996, - "end": 1012, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 996, - "end": 1012, - "name": "PUSH [tag]", - "source": 12, - "value": "119" - }, - { - "begin": 996, - "end": 1012, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 996, - "end": 1012, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 996, - "end": 1012, - "name": "PUSH [tag]", - "source": 12, - "value": "120" - }, - { - "begin": 996, - "end": 1012, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 996, - "end": 1012, - "name": "tag", - "source": 12, - "value": "119" - }, - { - "begin": 996, - "end": 1012, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "1F" - }, - { - "begin": 973, - "end": 1013, - "name": "ADD", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 973, - "end": 1013, - "name": "DUP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DIV", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "MUL", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 973, - "end": 1013, - "name": "ADD", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 973, - "end": 1013, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP2", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "ADD", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 973, - "end": 1013, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "SWAP4", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "SWAP3", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP2", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP2", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 973, - "end": 1013, - "name": "ADD", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP4", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP4", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP3", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP5", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "CALLDATACOPY", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 973, - "end": 1013, - "name": "DUP2", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP5", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "ADD", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "1F" - }, - { - "begin": 973, - "end": 1013, - "name": "NOT", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "PUSH", - "source": 12, - "value": "1F" - }, - { - "begin": 973, - "end": 1013, - "name": "DUP3", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "ADD", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "AND", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP1", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "DUP4", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "ADD", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "SWAP3", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 973, - "end": 995, - "name": "PUSH [tag]", - "source": 12, - "value": "121" - }, - { - "begin": 973, - "end": 1013, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 973, - "end": 1013, - "name": "tag", - "source": 12, - "value": "118" - }, - { - "begin": 973, - "end": 1013, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 954, - "end": 1013, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 954, - "end": 1013, - "name": "POP", - "source": 12 - }, - { - "begin": 1153, - "end": 1161, - "name": "DUP1", - "source": 12 - }, - { - "begin": 1128, - "end": 1161, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1128, - "end": 1161, - "name": "AND", - "source": 12 - }, - { - "begin": 1128, - "end": 1139, - "name": "DUP5", - "source": 12 - }, - { - "begin": 1128, - "end": 1149, - "name": "PUSH", - "source": 12, - "value": "C0" - }, - { - "begin": 1128, - "end": 1149, - "name": "ADD", - "source": 12 - }, - { - "begin": 1128, - "end": 1149, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 1128, - "end": 1149, - "name": "DUP2", - "source": 12 - }, - { - "begin": 1128, - "end": 1149, - "name": "ADD", - "source": 12 - }, - { - "begin": 1128, - "end": 1149, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1128, - "end": 1149, - "name": "PUSH [tag]", - "source": 12, - "value": "122" - }, - { - "begin": 1128, - "end": 1149, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 1128, - "end": 1149, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1128, - "end": 1149, - "name": "PUSH [tag]", - "source": 12, - "value": "114" - }, - { - "begin": 1128, - "end": 1149, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 1128, - "end": 1149, - "name": "tag", - "source": 12, - "value": "122" - }, - { - "begin": 1128, - "end": 1149, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1128, - "end": 1161, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1128, - "end": 1161, - "name": "AND", - "source": 12 - }, - { - "begin": 1128, - "end": 1161, - "name": "EQ", - "source": 12 - }, - { - "begin": 1124, - "end": 1200, - "name": "PUSH [tag]", - "source": 12, - "value": "123" - }, - { - "begin": 1124, - "end": 1200, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 1184, - "end": 1189, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 1177, - "end": 1189, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 1177, - "end": 1189, - "name": "POP", - "source": 12 - }, - { - "begin": 1177, - "end": 1189, - "name": "POP", - "source": 12 - }, - { - "begin": 1177, - "end": 1189, - "name": "PUSH [tag]", - "source": 12, - "value": "112" - }, - { - "begin": 1177, - "end": 1189, - "name": "JUMP", - "source": 12 - }, - { - "begin": 1124, - "end": 1200, - "name": "tag", - "source": 12, - "value": "123" - }, - { - "begin": 1124, - "end": 1200, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1266, - "end": 1289, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 1300, - "end": 1311, - "name": "DUP5", - "source": 12 - }, - { - "begin": 1300, - "end": 1321, - "name": "PUSH", - "source": 12, - "value": "C0" - }, - { - "begin": 1300, - "end": 1321, - "name": "ADD", - "source": 12 - }, - { - "begin": 1300, - "end": 1321, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 1300, - "end": 1321, - "name": "DUP2", - "source": 12 - }, - { - "begin": 1300, - "end": 1321, - "name": "ADD", - "source": 12 - }, - { - "begin": 1300, - "end": 1321, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1300, - "end": 1321, - "name": "PUSH [tag]", - "source": 12, - "value": "124" - }, - { - "begin": 1300, - "end": 1321, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 1300, - "end": 1321, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1300, - "end": 1321, - "name": "PUSH [tag]", - "source": 12, - "value": "114" - }, - { - "begin": 1300, - "end": 1321, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 1300, - "end": 1321, - "name": "tag", - "source": 12, - "value": "124" - }, - { - "begin": 1300, - "end": 1321, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1266, - "end": 1322, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1266, - "end": 1322, - "name": "POP", - "source": 12 - }, - { - "begin": 1337, - "end": 1352, - "name": "DUP1", - "source": 12 - }, - { - "begin": 1337, - "end": 1358, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1337, - "end": 1358, - "name": "AND", - "source": 12 - }, - { - "begin": 1337, - "end": 1358, - "name": "PUSH", - "source": 12, - "value": "8DA5CB5B" - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 1337, - "end": 1360, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP2", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFF" - }, - { - "begin": 1337, - "end": 1360, - "name": "AND", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "E0" - }, - { - "begin": 1337, - "end": 1360, - "name": "SHL", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP2", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "4" - }, - { - "begin": 1337, - "end": 1360, - "name": "ADD", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 1337, - "end": 1360, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP1", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP4", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "SUB", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP2", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP7", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "GAS", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "STATICCALL", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "SWAP3", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "POP", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "POP", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "POP", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP1", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "ISZERO", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH [tag]", - "source": 12, - "value": "125" - }, - { - "begin": 1337, - "end": 1360, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "POP", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 1337, - "end": 1360, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "RETURNDATASIZE", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "1F" - }, - { - "begin": 1337, - "end": 1360, - "name": "NOT", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "1F" - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP3", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "ADD", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "AND", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP3", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "ADD", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP1", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 1337, - "end": 1360, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "POP", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "DUP2", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "ADD", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH [tag]", - "source": 12, - "value": "126" - }, - { - "begin": 1337, - "end": 1360, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH [tag]", - "source": 12, - "value": "127" - }, - { - "begin": 1337, - "end": 1360, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "tag", - "source": 12, - "value": "126" - }, - { - "begin": 1337, - "end": 1360, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1337, - "end": 1360, - "name": "PUSH", - "source": 12, - "value": "1" - }, - { - "begin": 1337, - "end": 1360, - "name": "tag", - "source": 12, - "value": "125" - }, - { - "begin": 1337, - "end": 1360, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1333, - "end": 1636, - "name": "PUSH [tag]", - "source": 12, - "value": "128" - }, - { - "begin": 1333, - "end": 1636, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 1620, - "end": 1625, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 1613, - "end": 1625, - "name": "SWAP3", - "source": 12 - }, - { - "begin": 1613, - "end": 1625, - "name": "POP", - "source": 12 - }, - { - "begin": 1613, - "end": 1625, - "name": "POP", - "source": 12 - }, - { - "begin": 1613, - "end": 1625, - "name": "POP", - "source": 12 - }, - { - "begin": 1613, - "end": 1625, - "name": "PUSH [tag]", - "source": 12, - "value": "112" - }, - { - "begin": 1613, - "end": 1625, - "name": "JUMP", - "source": 12 - }, - { - "begin": 1333, - "end": 1636, - "name": "tag", - "source": 12, - "value": "128" - }, - { - "begin": 1333, - "end": 1636, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1494, - "end": 1499, - "name": "DUP1", - "source": 12 - }, - { - "begin": 1470, - "end": 1499, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1470, - "end": 1499, - "name": "AND", - "source": 12 - }, - { - "begin": 1470, - "end": 1481, - "name": "DUP7", - "source": 12 - }, - { - "begin": 1470, - "end": 1490, - "name": "PUSH", - "source": 12, - "value": "E0" - }, - { - "begin": 1470, - "end": 1490, - "name": "ADD", - "source": 12 - }, - { - "begin": 1470, - "end": 1490, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 1470, - "end": 1490, - "name": "DUP2", - "source": 12 - }, - { - "begin": 1470, - "end": 1490, - "name": "ADD", - "source": 12 - }, - { - "begin": 1470, - "end": 1490, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1470, - "end": 1490, - "name": "PUSH [tag]", - "source": 12, - "value": "133" - }, - { - "begin": 1470, - "end": 1490, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 1470, - "end": 1490, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1470, - "end": 1490, - "name": "PUSH [tag]", - "source": 12, - "value": "114" - }, - { - "begin": 1470, - "end": 1490, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 1470, - "end": 1490, - "name": "tag", - "source": 12, - "value": "133" - }, - { - "begin": 1470, - "end": 1490, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1470, - "end": 1499, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 1470, - "end": 1499, - "name": "AND", - "source": 12 - }, - { - "begin": 1470, - "end": 1499, - "name": "EQ", - "source": 12 - }, - { - "begin": 1463, - "end": 1499, - "name": "SWAP4", - "source": 12 - }, - { - "begin": 1463, - "end": 1499, - "name": "POP", - "source": 12 - }, - { - "begin": 1463, - "end": 1499, - "name": "POP", - "source": 12 - }, - { - "begin": 1463, - "end": 1499, - "name": "POP", - "source": 12 - }, - { - "begin": 1463, - "end": 1499, - "name": "POP", - "source": 12 - }, - { - "begin": 450, - "end": 1642, - "name": "tag", - "source": 12, - "value": "112" - }, - { - "begin": 450, - "end": 1642, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 450, - "end": 1642, - "name": "SWAP3", - "source": 12 - }, - { - "begin": 450, - "end": 1642, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 450, - "end": 1642, - "name": "POP", - "source": 12 - }, - { - "begin": 450, - "end": 1642, - "name": "POP", - "source": 12 - }, - { - "begin": 450, - "end": 1642, - "jumpType": "[out]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 12214, - "end": 13130, - "name": "tag", - "source": 3, - "value": "97" - }, - { - "begin": 12214, - "end": 13130, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12267, - "end": 12274, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 12286, - "end": 12300, - "name": "DUP1", - "source": 3 - }, - { - "begin": 12303, - "end": 12304, - "name": "PUSH", - "source": 3, - "value": "0" - }, - { - "begin": 12286, - "end": 12304, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12286, - "end": 12304, - "name": "POP", - "source": 3 - }, - { - "begin": 12351, - "end": 12359, - "name": "PUSH", - "source": 3, - "value": "184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000" - }, - { - "begin": 12342, - "end": 12347, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12342, - "end": 12359, - "name": "LT", - "source": 3 - }, - { - "begin": 12338, - "end": 12441, - "name": "PUSH [tag]", - "source": 3, - "value": "135" - }, - { - "begin": 12338, - "end": 12441, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12388, - "end": 12396, - "name": "PUSH", - "source": 3, - "value": "184F03E93FF9F4DAA797ED6E38ED64BF6A1F010000000000000000" - }, - { - "begin": 12379, - "end": 12396, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "PUSH [tag]", - "source": 3, - "value": "136" - }, - { - "begin": 12379, - "end": 12396, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "PUSH [tag]", - "source": 3, - "value": "137" - }, - { - "begin": 12379, - "end": 12396, - "name": "PUSH [tag]", - "source": 3, - "value": "106" - }, - { - "begin": 12379, - "end": 12396, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "tag", - "source": 3, - "value": "137" - }, - { - "begin": 12379, - "end": 12396, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "tag", - "source": 3, - "value": "136" - }, - { - "begin": 12379, - "end": 12396, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "DIV", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12379, - "end": 12396, - "name": "POP", - "source": 3 - }, - { - "begin": 12424, - "end": 12426, - "name": "PUSH", - "source": 3, - "value": "40" - }, - { - "begin": 12414, - "end": 12426, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12414, - "end": 12426, - "name": "ADD", - "source": 3 - }, - { - "begin": 12414, - "end": 12426, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12414, - "end": 12426, - "name": "POP", - "source": 3 - }, - { - "begin": 12338, - "end": 12441, - "name": "tag", - "source": 3, - "value": "135" - }, - { - "begin": 12338, - "end": 12441, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12467, - "end": 12475, - "name": "PUSH", - "source": 3, - "value": "4EE2D6D415B85ACEF8100000000" - }, - { - "begin": 12458, - "end": 12463, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12458, - "end": 12475, - "name": "LT", - "source": 3 - }, - { - "begin": 12454, - "end": 12557, - "name": "PUSH [tag]", - "source": 3, - "value": "138" - }, - { - "begin": 12454, - "end": 12557, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12504, - "end": 12512, - "name": "PUSH", - "source": 3, - "value": "4EE2D6D415B85ACEF8100000000" - }, - { - "begin": 12495, - "end": 12512, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "PUSH [tag]", - "source": 3, - "value": "139" - }, - { - "begin": 12495, - "end": 12512, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "PUSH [tag]", - "source": 3, - "value": "140" - }, - { - "begin": 12495, - "end": 12512, - "name": "PUSH [tag]", - "source": 3, - "value": "106" - }, - { - "begin": 12495, - "end": 12512, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "tag", - "source": 3, - "value": "140" - }, - { - "begin": 12495, - "end": 12512, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "tag", - "source": 3, - "value": "139" - }, - { - "begin": 12495, - "end": 12512, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "DIV", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12495, - "end": 12512, - "name": "POP", - "source": 3 - }, - { - "begin": 12540, - "end": 12542, - "name": "PUSH", - "source": 3, - "value": "20" - }, - { - "begin": 12530, - "end": 12542, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12530, - "end": 12542, - "name": "ADD", - "source": 3 - }, - { - "begin": 12530, - "end": 12542, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12530, - "end": 12542, - "name": "POP", - "source": 3 - }, - { - "begin": 12454, - "end": 12557, - "name": "tag", - "source": 3, - "value": "138" - }, - { - "begin": 12454, - "end": 12557, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12583, - "end": 12591, - "name": "PUSH", - "source": 3, - "value": "2386F26FC10000" - }, - { - "begin": 12574, - "end": 12579, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12574, - "end": 12591, - "name": "LT", - "source": 3 - }, - { - "begin": 12570, - "end": 12673, - "name": "PUSH [tag]", - "source": 3, - "value": "141" - }, - { - "begin": 12570, - "end": 12673, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12620, - "end": 12628, - "name": "PUSH", - "source": 3, - "value": "2386F26FC10000" - }, - { - "begin": 12611, - "end": 12628, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "PUSH [tag]", - "source": 3, - "value": "142" - }, - { - "begin": 12611, - "end": 12628, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "PUSH [tag]", - "source": 3, - "value": "143" - }, - { - "begin": 12611, - "end": 12628, - "name": "PUSH [tag]", - "source": 3, - "value": "106" - }, - { - "begin": 12611, - "end": 12628, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "tag", - "source": 3, - "value": "143" - }, - { - "begin": 12611, - "end": 12628, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "tag", - "source": 3, - "value": "142" - }, - { - "begin": 12611, - "end": 12628, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "DIV", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12611, - "end": 12628, - "name": "POP", - "source": 3 - }, - { - "begin": 12656, - "end": 12658, - "name": "PUSH", - "source": 3, - "value": "10" - }, - { - "begin": 12646, - "end": 12658, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12646, - "end": 12658, - "name": "ADD", - "source": 3 - }, - { - "begin": 12646, - "end": 12658, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12646, - "end": 12658, - "name": "POP", - "source": 3 - }, - { - "begin": 12570, - "end": 12673, - "name": "tag", - "source": 3, - "value": "141" - }, - { - "begin": 12570, - "end": 12673, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12699, - "end": 12706, - "name": "PUSH", - "source": 3, - "value": "5F5E100" - }, - { - "begin": 12690, - "end": 12695, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12690, - "end": 12706, - "name": "LT", - "source": 3 - }, - { - "begin": 12686, - "end": 12786, - "name": "PUSH [tag]", - "source": 3, - "value": "144" - }, - { - "begin": 12686, - "end": 12786, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12735, - "end": 12742, - "name": "PUSH", - "source": 3, - "value": "5F5E100" - }, - { - "begin": 12726, - "end": 12742, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "PUSH [tag]", - "source": 3, - "value": "145" - }, - { - "begin": 12726, - "end": 12742, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "PUSH [tag]", - "source": 3, - "value": "146" - }, - { - "begin": 12726, - "end": 12742, - "name": "PUSH [tag]", - "source": 3, - "value": "106" - }, - { - "begin": 12726, - "end": 12742, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "tag", - "source": 3, - "value": "146" - }, - { - "begin": 12726, - "end": 12742, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "tag", - "source": 3, - "value": "145" - }, - { - "begin": 12726, - "end": 12742, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "DIV", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12726, - "end": 12742, - "name": "POP", - "source": 3 - }, - { - "begin": 12770, - "end": 12771, - "name": "PUSH", - "source": 3, - "value": "8" - }, - { - "begin": 12760, - "end": 12771, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12760, - "end": 12771, - "name": "ADD", - "source": 3 - }, - { - "begin": 12760, - "end": 12771, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12760, - "end": 12771, - "name": "POP", - "source": 3 - }, - { - "begin": 12686, - "end": 12786, - "name": "tag", - "source": 3, - "value": "144" - }, - { - "begin": 12686, - "end": 12786, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12812, - "end": 12819, - "name": "PUSH", - "source": 3, - "value": "2710" - }, - { - "begin": 12803, - "end": 12808, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12803, - "end": 12819, - "name": "LT", - "source": 3 - }, - { - "begin": 12799, - "end": 12899, - "name": "PUSH [tag]", - "source": 3, - "value": "147" - }, - { - "begin": 12799, - "end": 12899, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12848, - "end": 12855, - "name": "PUSH", - "source": 3, - "value": "2710" - }, - { - "begin": 12839, - "end": 12855, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "PUSH [tag]", - "source": 3, - "value": "148" - }, - { - "begin": 12839, - "end": 12855, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "PUSH [tag]", - "source": 3, - "value": "149" - }, - { - "begin": 12839, - "end": 12855, - "name": "PUSH [tag]", - "source": 3, - "value": "106" - }, - { - "begin": 12839, - "end": 12855, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "tag", - "source": 3, - "value": "149" - }, - { - "begin": 12839, - "end": 12855, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "tag", - "source": 3, - "value": "148" - }, - { - "begin": 12839, - "end": 12855, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "DIV", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12839, - "end": 12855, - "name": "POP", - "source": 3 - }, - { - "begin": 12883, - "end": 12884, - "name": "PUSH", - "source": 3, - "value": "4" - }, - { - "begin": 12873, - "end": 12884, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12873, - "end": 12884, - "name": "ADD", - "source": 3 - }, - { - "begin": 12873, - "end": 12884, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12873, - "end": 12884, - "name": "POP", - "source": 3 - }, - { - "begin": 12799, - "end": 12899, - "name": "tag", - "source": 3, - "value": "147" - }, - { - "begin": 12799, - "end": 12899, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12925, - "end": 12932, - "name": "PUSH", - "source": 3, - "value": "64" - }, - { - "begin": 12916, - "end": 12921, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12916, - "end": 12932, - "name": "LT", - "source": 3 - }, - { - "begin": 12912, - "end": 13012, - "name": "PUSH [tag]", - "source": 3, - "value": "150" - }, - { - "begin": 12912, - "end": 13012, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12961, - "end": 12968, - "name": "PUSH", - "source": 3, - "value": "64" - }, - { - "begin": 12952, - "end": 12968, - "name": "DUP4", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "PUSH [tag]", - "source": 3, - "value": "151" - }, - { - "begin": 12952, - "end": 12968, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "PUSH [tag]", - "source": 3, - "value": "152" - }, - { - "begin": 12952, - "end": 12968, - "name": "PUSH [tag]", - "source": 3, - "value": "106" - }, - { - "begin": 12952, - "end": 12968, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "tag", - "source": 3, - "value": "152" - }, - { - "begin": 12952, - "end": 12968, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "tag", - "source": 3, - "value": "151" - }, - { - "begin": 12952, - "end": 12968, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "DIV", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "SWAP3", - "source": 3 - }, - { - "begin": 12952, - "end": 12968, - "name": "POP", - "source": 3 - }, - { - "begin": 12996, - "end": 12997, - "name": "PUSH", - "source": 3, - "value": "2" - }, - { - "begin": 12986, - "end": 12997, - "name": "DUP2", - "source": 3 - }, - { - "begin": 12986, - "end": 12997, - "name": "ADD", - "source": 3 - }, - { - "begin": 12986, - "end": 12997, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12986, - "end": 12997, - "name": "POP", - "source": 3 - }, - { - "begin": 12912, - "end": 13012, - "name": "tag", - "source": 3, - "value": "150" - }, - { - "begin": 12912, - "end": 13012, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 13038, - "end": 13045, - "name": "PUSH", - "source": 3, - "value": "A" - }, - { - "begin": 13029, - "end": 13034, - "name": "DUP4", - "source": 3 - }, - { - "begin": 13029, - "end": 13045, - "name": "LT", - "source": 3 - }, - { - "begin": 13025, - "end": 13091, - "name": "PUSH [tag]", - "source": 3, - "value": "153" - }, - { - "begin": 13025, - "end": 13091, - "name": "JUMPI", - "source": 3 - }, - { - "begin": 13075, - "end": 13076, - "name": "PUSH", - "source": 3, - "value": "1" - }, - { - "begin": 13065, - "end": 13076, - "name": "DUP2", - "source": 3 - }, - { - "begin": 13065, - "end": 13076, - "name": "ADD", - "source": 3 - }, - { - "begin": 13065, - "end": 13076, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 13065, - "end": 13076, - "name": "POP", - "source": 3 - }, - { - "begin": 13025, - "end": 13091, - "name": "tag", - "source": 3, - "value": "153" - }, - { - "begin": 13025, - "end": 13091, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 13117, - "end": 13123, - "name": "DUP1", - "source": 3 - }, - { - "begin": 13110, - "end": 13123, - "name": "SWAP2", - "source": 3 - }, - { - "begin": 13110, - "end": 13123, - "name": "POP", - "source": 3 - }, - { - "begin": 13110, - "end": 13123, - "name": "POP", - "source": 3 - }, - { - "begin": 12214, - "end": 13130, - "name": "SWAP2", - "source": 3 - }, - { - "begin": 12214, - "end": 13130, - "name": "SWAP1", - "source": 3 - }, - { - "begin": 12214, - "end": 13130, - "name": "POP", - "source": 3 - }, - { - "begin": 12214, - "end": 13130, - "jumpType": "[out]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 1648, - "end": 2261, - "name": "tag", - "source": 12, - "value": "121" - }, - { - "begin": 1648, - "end": 2261, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1722, - "end": 1729, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 1764, - "end": 1766, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 1749, - "end": 1753, - "name": "DUP3", - "source": 12 - }, - { - "begin": 1749, - "end": 1760, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 1749, - "end": 1766, - "name": "LT", - "source": 12 - }, - { - "begin": 1749, - "end": 1766, - "name": "ISZERO", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "PUSH [tag]", - "source": 12, - "value": "155" - }, - { - "begin": 1741, - "end": 1785, - "name": "JUMPI", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 1741, - "end": 1785, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "PUSH", - "source": 12, - "value": "8C379A000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 1741, - "end": 1785, - "name": "DUP2", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "MSTORE", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "PUSH", - "source": 12, - "value": "4" - }, - { - "begin": 1741, - "end": 1785, - "name": "ADD", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "PUSH [tag]", - "source": 12, - "value": "156" - }, - { - "begin": 1741, - "end": 1785, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "PUSH [tag]", - "source": 12, - "value": "157" - }, - { - "begin": 1741, - "end": 1785, - "jumpType": "[in]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "tag", - "source": 12, - "value": "156" - }, - { - "begin": 1741, - "end": 1785, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "PUSH", - "source": 12, - "value": "40" - }, - { - "begin": 1741, - "end": 1785, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "DUP1", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "SUB", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "REVERT", - "source": 12 - }, - { - "begin": 1741, - "end": 1785, - "name": "tag", - "source": 12, - "value": "155" - }, - { - "begin": 1741, - "end": 1785, - "name": "JUMPDEST", - "source": 12 - }, - { - "begin": 1897, - "end": 1921, - "name": "PUSH", - "source": 12, - "value": "0" - }, - { - "begin": 1990, - "end": 1992, - "name": "PUSH", - "source": 12, - "value": "20" - }, - { - "begin": 1984, - "end": 1988, - "name": "DUP4", - "source": 12 - }, - { - "begin": 1980, - "end": 1993, - "name": "ADD", - "source": 12 - }, - { - "begin": 1974, - "end": 1994, - "name": "MLOAD", - "source": 12 - }, - { - "begin": 1954, - "end": 1994, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1954, - "end": 1994, - "name": "POP", - "source": 12 - }, - { - "begin": 2118, - "end": 2160, - "name": "PUSH", - "source": 12, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 2100, - "end": 2116, - "name": "DUP2", - "source": 12 - }, - { - "begin": 2096, - "end": 2161, - "name": "AND", - "source": 12 - }, - { - "begin": 2076, - "end": 2161, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 2076, - "end": 2161, - "name": "POP", - "source": 12 - }, - { - "begin": 2238, - "end": 2254, - "name": "DUP1", - "source": 12 - }, - { - "begin": 2231, - "end": 2254, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 2231, - "end": 2254, - "name": "POP", - "source": 12 - }, - { - "begin": 2231, - "end": 2254, - "name": "POP", - "source": 12 - }, - { - "begin": 1648, - "end": 2261, - "name": "SWAP2", - "source": 12 - }, - { - "begin": 1648, - "end": 2261, - "name": "SWAP1", - "source": 12 - }, - { - "begin": 1648, - "end": 2261, - "name": "POP", - "source": 12 - }, - { - "begin": 1648, - "end": 2261, - "jumpType": "[out]", - "name": "JUMP", - "source": 12 - }, - { - "begin": 7, - "end": 106, - "name": "tag", - "source": 13, - "value": "158" - }, - { - "begin": 7, - "end": 106, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 59, - "end": 65, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 93, - "end": 98, - "name": "DUP2", - "source": 13 - }, - { - "begin": 87, - "end": 99, - "name": "MLOAD", - "source": 13 - }, - { - "begin": 77, - "end": 99, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 77, - "end": 99, - "name": "POP", - "source": 13 - }, - { - "begin": 7, - "end": 106, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 7, - "end": 106, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 7, - "end": 106, - "name": "POP", - "source": 13 - }, - { - "begin": 7, - "end": 106, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "tag", - "source": 13, - "value": "159" - }, - { - "begin": 112, - "end": 281, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 196, - "end": 207, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 230, - "end": 236, - "name": "DUP3", - "source": 13 - }, - { - "begin": 225, - "end": 228, - "name": "DUP3", - "source": 13 - }, - { - "begin": 218, - "end": 237, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 270, - "end": 274, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 265, - "end": 268, - "name": "DUP3", - "source": 13 - }, - { - "begin": 261, - "end": 275, - "name": "ADD", - "source": 13 - }, - { - "begin": 246, - "end": 275, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 246, - "end": 275, - "name": "POP", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "POP", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "name": "POP", - "source": 13 - }, - { - "begin": 112, - "end": 281, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "name": "tag", - "source": 13, - "value": "160" - }, - { - "begin": 287, - "end": 426, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 376, - "end": 382, - "name": "DUP3", - "source": 13 - }, - { - "begin": 371, - "end": 374, - "name": "DUP2", - "source": 13 - }, - { - "begin": 366, - "end": 369, - "name": "DUP4", - "source": 13 - }, - { - "begin": 360, - "end": 383, - "name": "MCOPY", - "source": 13 - }, - { - "begin": 417, - "end": 418, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 408, - "end": 414, - "name": "DUP4", - "source": 13 - }, - { - "begin": 403, - "end": 406, - "name": "DUP4", - "source": 13 - }, - { - "begin": 399, - "end": 415, - "name": "ADD", - "source": 13 - }, - { - "begin": 392, - "end": 419, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "name": "POP", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "name": "POP", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "name": "POP", - "source": 13 - }, - { - "begin": 287, - "end": 426, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "name": "tag", - "source": 13, - "value": "161" - }, - { - "begin": 432, - "end": 534, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 473, - "end": 479, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 524, - "end": 526, - "name": "PUSH", - "source": 13, - "value": "1F" - }, - { - "begin": 520, - "end": 527, - "name": "NOT", - "source": 13 - }, - { - "begin": 515, - "end": 517, - "name": "PUSH", - "source": 13, - "value": "1F" - }, - { - "begin": 508, - "end": 513, - "name": "DUP4", - "source": 13 - }, - { - "begin": 504, - "end": 518, - "name": "ADD", - "source": 13 - }, - { - "begin": 500, - "end": 528, - "name": "AND", - "source": 13 - }, - { - "begin": 490, - "end": 528, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 490, - "end": 528, - "name": "POP", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "name": "POP", - "source": 13 - }, - { - "begin": 432, - "end": 534, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "tag", - "source": 13, - "value": "162" - }, - { - "begin": 540, - "end": 917, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 628, - "end": 631, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 656, - "end": 695, - "name": "PUSH [tag]", - "source": 13, - "value": "195" - }, - { - "begin": 689, - "end": 694, - "name": "DUP3", - "source": 13 - }, - { - "begin": 656, - "end": 695, - "name": "PUSH [tag]", - "source": 13, - "value": "158" - }, - { - "begin": 656, - "end": 695, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 656, - "end": 695, - "name": "tag", - "source": 13, - "value": "195" - }, - { - "begin": 656, - "end": 695, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 711, - "end": 782, - "name": "PUSH [tag]", - "source": 13, - "value": "196" - }, - { - "begin": 775, - "end": 781, - "name": "DUP2", - "source": 13 - }, - { - "begin": 770, - "end": 773, - "name": "DUP6", - "source": 13 - }, - { - "begin": 711, - "end": 782, - "name": "PUSH [tag]", - "source": 13, - "value": "159" - }, - { - "begin": 711, - "end": 782, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 711, - "end": 782, - "name": "tag", - "source": 13, - "value": "196" - }, - { - "begin": 711, - "end": 782, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 704, - "end": 782, - "name": "SWAP4", - "source": 13 - }, - { - "begin": 704, - "end": 782, - "name": "POP", - "source": 13 - }, - { - "begin": 791, - "end": 856, - "name": "PUSH [tag]", - "source": 13, - "value": "197" - }, - { - "begin": 849, - "end": 855, - "name": "DUP2", - "source": 13 - }, - { - "begin": 844, - "end": 847, - "name": "DUP6", - "source": 13 - }, - { - "begin": 837, - "end": 841, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 830, - "end": 835, - "name": "DUP7", - "source": 13 - }, - { - "begin": 826, - "end": 842, - "name": "ADD", - "source": 13 - }, - { - "begin": 791, - "end": 856, - "name": "PUSH [tag]", - "source": 13, - "value": "160" - }, - { - "begin": 791, - "end": 856, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 791, - "end": 856, - "name": "tag", - "source": 13, - "value": "197" - }, - { - "begin": 791, - "end": 856, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 881, - "end": 910, - "name": "PUSH [tag]", - "source": 13, - "value": "198" - }, - { - "begin": 903, - "end": 909, - "name": "DUP2", - "source": 13 - }, - { - "begin": 881, - "end": 910, - "name": "PUSH [tag]", - "source": 13, - "value": "161" - }, - { - "begin": 881, - "end": 910, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 881, - "end": 910, - "name": "tag", - "source": 13, - "value": "198" - }, - { - "begin": 881, - "end": 910, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 876, - "end": 879, - "name": "DUP5", - "source": 13 - }, - { - "begin": 872, - "end": 911, - "name": "ADD", - "source": 13 - }, - { - "begin": 865, - "end": 911, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 865, - "end": 911, - "name": "POP", - "source": 13 - }, - { - "begin": 632, - "end": 917, - "name": "POP", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "POP", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "name": "POP", - "source": 13 - }, - { - "begin": 540, - "end": 917, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "tag", - "source": 13, - "value": "18" - }, - { - "begin": 923, - "end": 1236, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1036, - "end": 1040, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1074, - "end": 1076, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 1063, - "end": 1072, - "name": "DUP3", - "source": 13 - }, - { - "begin": 1059, - "end": 1077, - "name": "ADD", - "source": 13 - }, - { - "begin": 1051, - "end": 1077, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 1051, - "end": 1077, - "name": "POP", - "source": 13 - }, - { - "begin": 1123, - "end": 1132, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1117, - "end": 1121, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1113, - "end": 1133, - "name": "SUB", - "source": 13 - }, - { - "begin": 1109, - "end": 1110, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1098, - "end": 1107, - "name": "DUP4", - "source": 13 - }, - { - "begin": 1094, - "end": 1111, - "name": "ADD", - "source": 13 - }, - { - "begin": 1087, - "end": 1134, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 1151, - "end": 1229, - "name": "PUSH [tag]", - "source": 13, - "value": "200" - }, - { - "begin": 1224, - "end": 1228, - "name": "DUP2", - "source": 13 - }, - { - "begin": 1215, - "end": 1221, - "name": "DUP5", - "source": 13 - }, - { - "begin": 1151, - "end": 1229, - "name": "PUSH [tag]", - "source": 13, - "value": "162" - }, - { - "begin": 1151, - "end": 1229, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1151, - "end": 1229, - "name": "tag", - "source": 13, - "value": "200" - }, - { - "begin": 1151, - "end": 1229, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1143, - "end": 1229, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 1143, - "end": 1229, - "name": "POP", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "POP", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "name": "POP", - "source": 13 - }, - { - "begin": 923, - "end": 1236, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 1323, - "end": 1440, - "name": "tag", - "source": 13, - "value": "164" - }, - { - "begin": 1323, - "end": 1440, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1432, - "end": 1433, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1429, - "end": 1430, - "name": "DUP1", - "source": 13 - }, - { - "begin": 1422, - "end": 1434, - "name": "REVERT", - "source": 13 - }, - { - "begin": 1446, - "end": 1563, - "name": "tag", - "source": 13, - "value": "165" - }, - { - "begin": 1446, - "end": 1563, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1555, - "end": 1556, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1552, - "end": 1553, - "name": "DUP1", - "source": 13 - }, - { - "begin": 1545, - "end": 1557, - "name": "REVERT", - "source": 13 - }, - { - "begin": 1569, - "end": 1686, - "name": "tag", - "source": 13, - "value": "166" - }, - { - "begin": 1569, - "end": 1686, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1678, - "end": 1679, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1675, - "end": 1676, - "name": "DUP1", - "source": 13 - }, - { - "begin": 1668, - "end": 1680, - "name": "REVERT", - "source": 13 - }, - { - "begin": 1692, - "end": 1809, - "name": "tag", - "source": 13, - "value": "167" - }, - { - "begin": 1692, - "end": 1809, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1801, - "end": 1802, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1798, - "end": 1799, - "name": "DUP1", - "source": 13 - }, - { - "begin": 1791, - "end": 1803, - "name": "REVERT", - "source": 13 - }, - { - "begin": 1815, - "end": 1932, - "name": "tag", - "source": 13, - "value": "168" - }, - { - "begin": 1815, - "end": 1932, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1924, - "end": 1925, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 1921, - "end": 1922, - "name": "DUP1", - "source": 13 - }, - { - "begin": 1914, - "end": 1926, - "name": "REVERT", - "source": 13 - }, - { - "begin": 1966, - "end": 2565, - "name": "tag", - "source": 13, - "value": "169" - }, - { - "begin": 1966, - "end": 2565, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2070, - "end": 2078, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 2080, - "end": 2086, - "name": "DUP1", - "source": 13 - }, - { - "begin": 2130, - "end": 2133, - "name": "DUP4", - "source": 13 - }, - { - "begin": 2123, - "end": 2127, - "name": "PUSH", - "source": 13, - "value": "1F" - }, - { - "begin": 2115, - "end": 2121, - "name": "DUP5", - "source": 13 - }, - { - "begin": 2111, - "end": 2128, - "name": "ADD", - "source": 13 - }, - { - "begin": 2107, - "end": 2134, - "name": "SLT", - "source": 13 - }, - { - "begin": 2097, - "end": 2219, - "name": "PUSH [tag]", - "source": 13, - "value": "208" - }, - { - "begin": 2097, - "end": 2219, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 2138, - "end": 2217, - "name": "PUSH [tag]", - "source": 13, - "value": "209" - }, - { - "begin": 2138, - "end": 2217, - "name": "PUSH [tag]", - "source": 13, - "value": "166" - }, - { - "begin": 2138, - "end": 2217, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2138, - "end": 2217, - "name": "tag", - "source": 13, - "value": "209" - }, - { - "begin": 2138, - "end": 2217, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2097, - "end": 2219, - "name": "tag", - "source": 13, - "value": "208" - }, - { - "begin": 2097, - "end": 2219, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2251, - "end": 2257, - "name": "DUP3", - "source": 13 - }, - { - "begin": 2238, - "end": 2258, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 2228, - "end": 2258, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 2228, - "end": 2258, - "name": "POP", - "source": 13 - }, - { - "begin": 2281, - "end": 2299, - "name": "PUSH", - "source": 13, - "value": "FFFFFFFFFFFFFFFF" - }, - { - "begin": 2273, - "end": 2279, - "name": "DUP2", - "source": 13 - }, - { - "begin": 2270, - "end": 2300, - "name": "GT", - "source": 13 - }, - { - "begin": 2267, - "end": 2384, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 2267, - "end": 2384, - "name": "PUSH [tag]", - "source": 13, - "value": "210" - }, - { - "begin": 2267, - "end": 2384, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 2303, - "end": 2382, - "name": "PUSH [tag]", - "source": 13, - "value": "211" - }, - { - "begin": 2303, - "end": 2382, - "name": "PUSH [tag]", - "source": 13, - "value": "167" - }, - { - "begin": 2303, - "end": 2382, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2303, - "end": 2382, - "name": "tag", - "source": 13, - "value": "211" - }, - { - "begin": 2303, - "end": 2382, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2267, - "end": 2384, - "name": "tag", - "source": 13, - "value": "210" - }, - { - "begin": 2267, - "end": 2384, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2417, - "end": 2421, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 2409, - "end": 2415, - "name": "DUP4", - "source": 13 - }, - { - "begin": 2405, - "end": 2422, - "name": "ADD", - "source": 13 - }, - { - "begin": 2393, - "end": 2422, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 2393, - "end": 2422, - "name": "POP", - "source": 13 - }, - { - "begin": 2471, - "end": 2474, - "name": "DUP4", - "source": 13 - }, - { - "begin": 2463, - "end": 2467, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 2455, - "end": 2461, - "name": "DUP3", - "source": 13 - }, - { - "begin": 2451, - "end": 2468, - "name": "MUL", - "source": 13 - }, - { - "begin": 2441, - "end": 2449, - "name": "DUP4", - "source": 13 - }, - { - "begin": 2437, - "end": 2469, - "name": "ADD", - "source": 13 - }, - { - "begin": 2434, - "end": 2475, - "name": "GT", - "source": 13 - }, - { - "begin": 2431, - "end": 2559, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 2431, - "end": 2559, - "name": "PUSH [tag]", - "source": 13, - "value": "212" - }, - { - "begin": 2431, - "end": 2559, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 2478, - "end": 2557, - "name": "PUSH [tag]", - "source": 13, - "value": "213" - }, - { - "begin": 2478, - "end": 2557, - "name": "PUSH [tag]", - "source": 13, - "value": "168" - }, - { - "begin": 2478, - "end": 2557, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2478, - "end": 2557, - "name": "tag", - "source": 13, - "value": "213" - }, - { - "begin": 2478, - "end": 2557, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2431, - "end": 2559, - "name": "tag", - "source": 13, - "value": "212" - }, - { - "begin": 2431, - "end": 2559, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 1966, - "end": 2565, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 1966, - "end": 2565, - "name": "POP", - "source": 13 - }, - { - "begin": 1966, - "end": 2565, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 1966, - "end": 2565, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 1966, - "end": 2565, - "name": "POP", - "source": 13 - }, - { - "begin": 1966, - "end": 2565, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2588, - "end": 3156, - "name": "tag", - "source": 13, - "value": "170" - }, - { - "begin": 2588, - "end": 3156, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2661, - "end": 2669, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 2671, - "end": 2677, - "name": "DUP1", - "source": 13 - }, - { - "begin": 2721, - "end": 2724, - "name": "DUP4", - "source": 13 - }, - { - "begin": 2714, - "end": 2718, - "name": "PUSH", - "source": 13, - "value": "1F" - }, - { - "begin": 2706, - "end": 2712, - "name": "DUP5", - "source": 13 - }, - { - "begin": 2702, - "end": 2719, - "name": "ADD", - "source": 13 - }, - { - "begin": 2698, - "end": 2725, - "name": "SLT", - "source": 13 - }, - { - "begin": 2688, - "end": 2810, - "name": "PUSH [tag]", - "source": 13, - "value": "215" - }, - { - "begin": 2688, - "end": 2810, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 2729, - "end": 2808, - "name": "PUSH [tag]", - "source": 13, - "value": "216" - }, - { - "begin": 2729, - "end": 2808, - "name": "PUSH [tag]", - "source": 13, - "value": "166" - }, - { - "begin": 2729, - "end": 2808, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2729, - "end": 2808, - "name": "tag", - "source": 13, - "value": "216" - }, - { - "begin": 2729, - "end": 2808, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2688, - "end": 2810, - "name": "tag", - "source": 13, - "value": "215" - }, - { - "begin": 2688, - "end": 2810, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2842, - "end": 2848, - "name": "DUP3", - "source": 13 - }, - { - "begin": 2829, - "end": 2849, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 2819, - "end": 2849, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 2819, - "end": 2849, - "name": "POP", - "source": 13 - }, - { - "begin": 2872, - "end": 2890, - "name": "PUSH", - "source": 13, - "value": "FFFFFFFFFFFFFFFF" - }, - { - "begin": 2864, - "end": 2870, - "name": "DUP2", - "source": 13 - }, - { - "begin": 2861, - "end": 2891, - "name": "GT", - "source": 13 - }, - { - "begin": 2858, - "end": 2975, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 2858, - "end": 2975, - "name": "PUSH [tag]", - "source": 13, - "value": "217" - }, - { - "begin": 2858, - "end": 2975, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 2894, - "end": 2973, - "name": "PUSH [tag]", - "source": 13, - "value": "218" - }, - { - "begin": 2894, - "end": 2973, - "name": "PUSH [tag]", - "source": 13, - "value": "167" - }, - { - "begin": 2894, - "end": 2973, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 2894, - "end": 2973, - "name": "tag", - "source": 13, - "value": "218" - }, - { - "begin": 2894, - "end": 2973, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2858, - "end": 2975, - "name": "tag", - "source": 13, - "value": "217" - }, - { - "begin": 2858, - "end": 2975, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3008, - "end": 3012, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 3000, - "end": 3006, - "name": "DUP4", - "source": 13 - }, - { - "begin": 2996, - "end": 3013, - "name": "ADD", - "source": 13 - }, - { - "begin": 2984, - "end": 3013, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 2984, - "end": 3013, - "name": "POP", - "source": 13 - }, - { - "begin": 3062, - "end": 3065, - "name": "DUP4", - "source": 13 - }, - { - "begin": 3054, - "end": 3058, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 3046, - "end": 3052, - "name": "DUP3", - "source": 13 - }, - { - "begin": 3042, - "end": 3059, - "name": "MUL", - "source": 13 - }, - { - "begin": 3032, - "end": 3040, - "name": "DUP4", - "source": 13 - }, - { - "begin": 3028, - "end": 3060, - "name": "ADD", - "source": 13 - }, - { - "begin": 3025, - "end": 3066, - "name": "GT", - "source": 13 - }, - { - "begin": 3022, - "end": 3150, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 3022, - "end": 3150, - "name": "PUSH [tag]", - "source": 13, - "value": "219" - }, - { - "begin": 3022, - "end": 3150, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 3069, - "end": 3148, - "name": "PUSH [tag]", - "source": 13, - "value": "220" - }, - { - "begin": 3069, - "end": 3148, - "name": "PUSH [tag]", - "source": 13, - "value": "168" - }, - { - "begin": 3069, - "end": 3148, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3069, - "end": 3148, - "name": "tag", - "source": 13, - "value": "220" - }, - { - "begin": 3069, - "end": 3148, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3022, - "end": 3150, - "name": "tag", - "source": 13, - "value": "219" - }, - { - "begin": 3022, - "end": 3150, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 2588, - "end": 3156, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 2588, - "end": 3156, - "name": "POP", - "source": 13 - }, - { - "begin": 2588, - "end": 3156, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 2588, - "end": 3156, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 2588, - "end": 3156, - "name": "POP", - "source": 13 - }, - { - "begin": 2588, - "end": 3156, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "name": "tag", - "source": 13, - "value": "21" - }, - { - "begin": 3162, - "end": 4158, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3315, - "end": 3321, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 3323, - "end": 3329, - "name": "DUP1", - "source": 13 - }, - { - "begin": 3331, - "end": 3337, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 3339, - "end": 3345, - "name": "DUP1", - "source": 13 - }, - { - "begin": 3388, - "end": 3390, - "name": "PUSH", - "source": 13, - "value": "40" - }, - { - "begin": 3376, - "end": 3385, - "name": "DUP6", - "source": 13 - }, - { - "begin": 3367, - "end": 3374, - "name": "DUP8", - "source": 13 - }, - { - "begin": 3363, - "end": 3386, - "name": "SUB", - "source": 13 - }, - { - "begin": 3359, - "end": 3391, - "name": "SLT", - "source": 13 - }, - { - "begin": 3356, - "end": 3475, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 3356, - "end": 3475, - "name": "PUSH [tag]", - "source": 13, - "value": "222" - }, - { - "begin": 3356, - "end": 3475, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 3394, - "end": 3473, - "name": "PUSH [tag]", - "source": 13, - "value": "223" - }, - { - "begin": 3394, - "end": 3473, - "name": "PUSH [tag]", - "source": 13, - "value": "164" - }, - { - "begin": 3394, - "end": 3473, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3394, - "end": 3473, - "name": "tag", - "source": 13, - "value": "223" - }, - { - "begin": 3394, - "end": 3473, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3356, - "end": 3475, - "name": "tag", - "source": 13, - "value": "222" - }, - { - "begin": 3356, - "end": 3475, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3542, - "end": 3543, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 3531, - "end": 3540, - "name": "DUP6", - "source": 13 - }, - { - "begin": 3527, - "end": 3544, - "name": "ADD", - "source": 13 - }, - { - "begin": 3514, - "end": 3545, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 3572, - "end": 3590, - "name": "PUSH", - "source": 13, - "value": "FFFFFFFFFFFFFFFF" - }, - { - "begin": 3564, - "end": 3570, - "name": "DUP2", - "source": 13 - }, - { - "begin": 3561, - "end": 3591, - "name": "GT", - "source": 13 - }, - { - "begin": 3558, - "end": 3675, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 3558, - "end": 3675, - "name": "PUSH [tag]", - "source": 13, - "value": "224" - }, - { - "begin": 3558, - "end": 3675, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 3594, - "end": 3673, - "name": "PUSH [tag]", - "source": 13, - "value": "225" - }, - { - "begin": 3594, - "end": 3673, - "name": "PUSH [tag]", - "source": 13, - "value": "165" - }, - { - "begin": 3594, - "end": 3673, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3594, - "end": 3673, - "name": "tag", - "source": 13, - "value": "225" - }, - { - "begin": 3594, - "end": 3673, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3558, - "end": 3675, - "name": "tag", - "source": 13, - "value": "224" - }, - { - "begin": 3558, - "end": 3675, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3707, - "end": 3818, - "name": "PUSH [tag]", - "source": 13, - "value": "226" - }, - { - "begin": 3810, - "end": 3817, - "name": "DUP8", - "source": 13 - }, - { - "begin": 3801, - "end": 3807, - "name": "DUP3", - "source": 13 - }, - { - "begin": 3790, - "end": 3799, - "name": "DUP9", - "source": 13 - }, - { - "begin": 3786, - "end": 3808, - "name": "ADD", - "source": 13 - }, - { - "begin": 3707, - "end": 3818, - "name": "PUSH [tag]", - "source": 13, - "value": "169" - }, - { - "begin": 3707, - "end": 3818, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3707, - "end": 3818, - "name": "tag", - "source": 13, - "value": "226" - }, - { - "begin": 3707, - "end": 3818, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3689, - "end": 3818, - "name": "SWAP5", - "source": 13 - }, - { - "begin": 3689, - "end": 3818, - "name": "POP", - "source": 13 - }, - { - "begin": 3689, - "end": 3818, - "name": "SWAP5", - "source": 13 - }, - { - "begin": 3689, - "end": 3818, - "name": "POP", - "source": 13 - }, - { - "begin": 3485, - "end": 3828, - "name": "POP", - "source": 13 - }, - { - "begin": 3895, - "end": 3897, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 3884, - "end": 3893, - "name": "DUP6", - "source": 13 - }, - { - "begin": 3880, - "end": 3898, - "name": "ADD", - "source": 13 - }, - { - "begin": 3867, - "end": 3899, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 3926, - "end": 3944, - "name": "PUSH", - "source": 13, - "value": "FFFFFFFFFFFFFFFF" - }, - { - "begin": 3918, - "end": 3924, - "name": "DUP2", - "source": 13 - }, - { - "begin": 3915, - "end": 3945, - "name": "GT", - "source": 13 - }, - { - "begin": 3912, - "end": 4029, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 3912, - "end": 4029, - "name": "PUSH [tag]", - "source": 13, - "value": "227" - }, - { - "begin": 3912, - "end": 4029, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 3948, - "end": 4027, - "name": "PUSH [tag]", - "source": 13, - "value": "228" - }, - { - "begin": 3948, - "end": 4027, - "name": "PUSH [tag]", - "source": 13, - "value": "165" - }, - { - "begin": 3948, - "end": 4027, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 3948, - "end": 4027, - "name": "tag", - "source": 13, - "value": "228" - }, - { - "begin": 3948, - "end": 4027, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 3912, - "end": 4029, - "name": "tag", - "source": 13, - "value": "227" - }, - { - "begin": 3912, - "end": 4029, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4061, - "end": 4141, - "name": "PUSH [tag]", - "source": 13, - "value": "229" - }, - { - "begin": 4133, - "end": 4140, - "name": "DUP8", - "source": 13 - }, - { - "begin": 4124, - "end": 4130, - "name": "DUP3", - "source": 13 - }, - { - "begin": 4113, - "end": 4122, - "name": "DUP9", - "source": 13 - }, - { - "begin": 4109, - "end": 4131, - "name": "ADD", - "source": 13 - }, - { - "begin": 4061, - "end": 4141, - "name": "PUSH [tag]", - "source": 13, - "value": "170" - }, - { - "begin": 4061, - "end": 4141, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4061, - "end": 4141, - "name": "tag", - "source": 13, - "value": "229" - }, - { - "begin": 4061, - "end": 4141, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4043, - "end": 4141, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 4043, - "end": 4141, - "name": "POP", - "source": 13 - }, - { - "begin": 4043, - "end": 4141, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 4043, - "end": 4141, - "name": "POP", - "source": 13 - }, - { - "begin": 3838, - "end": 4151, - "name": "POP", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "name": "SWAP6", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "name": "SWAP5", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "name": "POP", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "name": "POP", - "source": 13 - }, - { - "begin": 3162, - "end": 4158, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4164, - "end": 4254, - "name": "tag", - "source": 13, - "value": "171" - }, - { - "begin": 4164, - "end": 4254, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4198, - "end": 4205, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 4241, - "end": 4246, - "name": "DUP2", - "source": 13 - }, - { - "begin": 4234, - "end": 4247, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 4227, - "end": 4248, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 4216, - "end": 4248, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 4216, - "end": 4248, - "name": "POP", - "source": 13 - }, - { - "begin": 4164, - "end": 4254, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 4164, - "end": 4254, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 4164, - "end": 4254, - "name": "POP", - "source": 13 - }, - { - "begin": 4164, - "end": 4254, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4260, - "end": 4369, - "name": "tag", - "source": 13, - "value": "172" - }, - { - "begin": 4260, - "end": 4369, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4341, - "end": 4362, - "name": "PUSH [tag]", - "source": 13, - "value": "232" - }, - { - "begin": 4356, - "end": 4361, - "name": "DUP2", - "source": 13 - }, - { - "begin": 4341, - "end": 4362, - "name": "PUSH [tag]", - "source": 13, - "value": "171" - }, - { - "begin": 4341, - "end": 4362, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4341, - "end": 4362, - "name": "tag", - "source": 13, - "value": "232" - }, - { - "begin": 4341, - "end": 4362, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4336, - "end": 4339, - "name": "DUP3", - "source": 13 - }, - { - "begin": 4329, - "end": 4363, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 4260, - "end": 4369, - "name": "POP", - "source": 13 - }, - { - "begin": 4260, - "end": 4369, - "name": "POP", - "source": 13 - }, - { - "begin": 4260, - "end": 4369, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4375, - "end": 4585, - "name": "tag", - "source": 13, - "value": "24" - }, - { - "begin": 4375, - "end": 4585, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4462, - "end": 4466, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 4500, - "end": 4502, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 4489, - "end": 4498, - "name": "DUP3", - "source": 13 - }, - { - "begin": 4485, - "end": 4503, - "name": "ADD", - "source": 13 - }, - { - "begin": 4477, - "end": 4503, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 4477, - "end": 4503, - "name": "POP", - "source": 13 - }, - { - "begin": 4513, - "end": 4578, - "name": "PUSH [tag]", - "source": 13, - "value": "234" - }, - { - "begin": 4575, - "end": 4576, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 4564, - "end": 4573, - "name": "DUP4", - "source": 13 - }, - { - "begin": 4560, - "end": 4577, - "name": "ADD", - "source": 13 - }, - { - "begin": 4551, - "end": 4557, - "name": "DUP5", - "source": 13 - }, - { - "begin": 4513, - "end": 4578, - "name": "PUSH [tag]", - "source": 13, - "value": "172" - }, - { - "begin": 4513, - "end": 4578, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4513, - "end": 4578, - "name": "tag", - "source": 13, - "value": "234" - }, - { - "begin": 4513, - "end": 4578, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4375, - "end": 4585, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 4375, - "end": 4585, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 4375, - "end": 4585, - "name": "POP", - "source": 13 - }, - { - "begin": 4375, - "end": 4585, - "name": "POP", - "source": 13 - }, - { - "begin": 4375, - "end": 4585, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4591, - "end": 4708, - "name": "tag", - "source": 13, - "value": "173" - }, - { - "begin": 4591, - "end": 4708, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4700, - "end": 4701, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 4697, - "end": 4698, - "name": "DUP1", - "source": 13 - }, - { - "begin": 4690, - "end": 4702, - "name": "REVERT", - "source": 13 - }, - { - "begin": 4740, - "end": 4976, - "name": "tag", - "source": 13, - "value": "174" - }, - { - "begin": 4740, - "end": 4976, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4817, - "end": 4822, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 4858, - "end": 4861, - "name": "PUSH", - "source": 13, - "value": "140" - }, - { - "begin": 4849, - "end": 4855, - "name": "DUP3", - "source": 13 - }, - { - "begin": 4844, - "end": 4847, - "name": "DUP5", - "source": 13 - }, - { - "begin": 4840, - "end": 4856, - "name": "SUB", - "source": 13 - }, - { - "begin": 4836, - "end": 4862, - "name": "SLT", - "source": 13 - }, - { - "begin": 4833, - "end": 4946, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 4833, - "end": 4946, - "name": "PUSH [tag]", - "source": 13, - "value": "237" - }, - { - "begin": 4833, - "end": 4946, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 4865, - "end": 4944, - "name": "PUSH [tag]", - "source": 13, - "value": "238" - }, - { - "begin": 4865, - "end": 4944, - "name": "PUSH [tag]", - "source": 13, - "value": "173" - }, - { - "begin": 4865, - "end": 4944, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4865, - "end": 4944, - "name": "tag", - "source": 13, - "value": "238" - }, - { - "begin": 4865, - "end": 4944, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4833, - "end": 4946, - "name": "tag", - "source": 13, - "value": "237" - }, - { - "begin": 4833, - "end": 4946, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 4964, - "end": 4970, - "name": "DUP2", - "source": 13 - }, - { - "begin": 4955, - "end": 4970, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 4955, - "end": 4970, - "name": "POP", - "source": 13 - }, - { - "begin": 4740, - "end": 4976, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 4740, - "end": 4976, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 4740, - "end": 4976, - "name": "POP", - "source": 13 - }, - { - "begin": 4740, - "end": 4976, - "name": "POP", - "source": 13 - }, - { - "begin": 4740, - "end": 4976, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 4982, - "end": 5533, - "name": "tag", - "source": 13, - "value": "34" - }, - { - "begin": 4982, - "end": 5533, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5072, - "end": 5078, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 5121, - "end": 5123, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 5109, - "end": 5118, - "name": "DUP3", - "source": 13 - }, - { - "begin": 5100, - "end": 5107, - "name": "DUP5", - "source": 13 - }, - { - "begin": 5096, - "end": 5119, - "name": "SUB", - "source": 13 - }, - { - "begin": 5092, - "end": 5124, - "name": "SLT", - "source": 13 - }, - { - "begin": 5089, - "end": 5208, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 5089, - "end": 5208, - "name": "PUSH [tag]", - "source": 13, - "value": "240" - }, - { - "begin": 5089, - "end": 5208, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 5127, - "end": 5206, - "name": "PUSH [tag]", - "source": 13, - "value": "241" - }, - { - "begin": 5127, - "end": 5206, - "name": "PUSH [tag]", - "source": 13, - "value": "164" - }, - { - "begin": 5127, - "end": 5206, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 5127, - "end": 5206, - "name": "tag", - "source": 13, - "value": "241" - }, - { - "begin": 5127, - "end": 5206, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5089, - "end": 5208, - "name": "tag", - "source": 13, - "value": "240" - }, - { - "begin": 5089, - "end": 5208, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5275, - "end": 5276, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 5264, - "end": 5273, - "name": "DUP3", - "source": 13 - }, - { - "begin": 5260, - "end": 5277, - "name": "ADD", - "source": 13 - }, - { - "begin": 5247, - "end": 5278, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 5305, - "end": 5323, - "name": "PUSH", - "source": 13, - "value": "FFFFFFFFFFFFFFFF" - }, - { - "begin": 5297, - "end": 5303, - "name": "DUP2", - "source": 13 - }, - { - "begin": 5294, - "end": 5324, - "name": "GT", - "source": 13 - }, - { - "begin": 5291, - "end": 5408, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 5291, - "end": 5408, - "name": "PUSH [tag]", - "source": 13, - "value": "242" - }, - { - "begin": 5291, - "end": 5408, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 5327, - "end": 5406, - "name": "PUSH [tag]", - "source": 13, - "value": "243" - }, - { - "begin": 5327, - "end": 5406, - "name": "PUSH [tag]", - "source": 13, - "value": "165" - }, - { - "begin": 5327, - "end": 5406, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 5327, - "end": 5406, - "name": "tag", - "source": 13, - "value": "243" - }, - { - "begin": 5327, - "end": 5406, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5291, - "end": 5408, - "name": "tag", - "source": 13, - "value": "242" - }, - { - "begin": 5291, - "end": 5408, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5432, - "end": 5516, - "name": "PUSH [tag]", - "source": 13, - "value": "244" - }, - { - "begin": 5508, - "end": 5515, - "name": "DUP5", - "source": 13 - }, - { - "begin": 5499, - "end": 5505, - "name": "DUP3", - "source": 13 - }, - { - "begin": 5488, - "end": 5497, - "name": "DUP6", - "source": 13 - }, - { - "begin": 5484, - "end": 5506, - "name": "ADD", - "source": 13 - }, - { - "begin": 5432, - "end": 5516, - "name": "PUSH [tag]", - "source": 13, - "value": "174" - }, - { - "begin": 5432, - "end": 5516, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 5432, - "end": 5516, - "name": "tag", - "source": 13, - "value": "244" - }, - { - "begin": 5432, - "end": 5516, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5422, - "end": 5516, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 5422, - "end": 5516, - "name": "POP", - "source": 13 - }, - { - "begin": 5218, - "end": 5526, - "name": "POP", - "source": 13 - }, - { - "begin": 4982, - "end": 5533, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 4982, - "end": 5533, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 4982, - "end": 5533, - "name": "POP", - "source": 13 - }, - { - "begin": 4982, - "end": 5533, - "name": "POP", - "source": 13 - }, - { - "begin": 4982, - "end": 5533, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 5539, - "end": 5687, - "name": "tag", - "source": 13, - "value": "175" - }, - { - "begin": 5539, - "end": 5687, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5641, - "end": 5652, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 5678, - "end": 5681, - "name": "DUP2", - "source": 13 - }, - { - "begin": 5663, - "end": 5681, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 5663, - "end": 5681, - "name": "POP", - "source": 13 - }, - { - "begin": 5539, - "end": 5687, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 5539, - "end": 5687, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 5539, - "end": 5687, - "name": "POP", - "source": 13 - }, - { - "begin": 5539, - "end": 5687, - "name": "POP", - "source": 13 - }, - { - "begin": 5539, - "end": 5687, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 5693, - "end": 6083, - "name": "tag", - "source": 13, - "value": "176" - }, - { - "begin": 5693, - "end": 6083, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5799, - "end": 5802, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 5827, - "end": 5866, - "name": "PUSH [tag]", - "source": 13, - "value": "247" - }, - { - "begin": 5860, - "end": 5865, - "name": "DUP3", - "source": 13 - }, - { - "begin": 5827, - "end": 5866, - "name": "PUSH [tag]", - "source": 13, - "value": "158" - }, - { - "begin": 5827, - "end": 5866, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 5827, - "end": 5866, - "name": "tag", - "source": 13, - "value": "247" - }, - { - "begin": 5827, - "end": 5866, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5882, - "end": 5971, - "name": "PUSH [tag]", - "source": 13, - "value": "248" - }, - { - "begin": 5964, - "end": 5970, - "name": "DUP2", - "source": 13 - }, - { - "begin": 5959, - "end": 5962, - "name": "DUP6", - "source": 13 - }, - { - "begin": 5882, - "end": 5971, - "name": "PUSH [tag]", - "source": 13, - "value": "175" - }, - { - "begin": 5882, - "end": 5971, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 5882, - "end": 5971, - "name": "tag", - "source": 13, - "value": "248" - }, - { - "begin": 5882, - "end": 5971, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 5875, - "end": 5971, - "name": "SWAP4", - "source": 13 - }, - { - "begin": 5875, - "end": 5971, - "name": "POP", - "source": 13 - }, - { - "begin": 5980, - "end": 6045, - "name": "PUSH [tag]", - "source": 13, - "value": "249" - }, - { - "begin": 6038, - "end": 6044, - "name": "DUP2", - "source": 13 - }, - { - "begin": 6033, - "end": 6036, - "name": "DUP6", - "source": 13 - }, - { - "begin": 6026, - "end": 6030, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 6019, - "end": 6024, - "name": "DUP7", - "source": 13 - }, - { - "begin": 6015, - "end": 6031, - "name": "ADD", - "source": 13 - }, - { - "begin": 5980, - "end": 6045, - "name": "PUSH [tag]", - "source": 13, - "value": "160" - }, - { - "begin": 5980, - "end": 6045, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 5980, - "end": 6045, - "name": "tag", - "source": 13, - "value": "249" - }, - { - "begin": 5980, - "end": 6045, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 6070, - "end": 6076, - "name": "DUP1", - "source": 13 - }, - { - "begin": 6065, - "end": 6068, - "name": "DUP5", - "source": 13 - }, - { - "begin": 6061, - "end": 6077, - "name": "ADD", - "source": 13 - }, - { - "begin": 6054, - "end": 6077, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 6054, - "end": 6077, - "name": "POP", - "source": 13 - }, - { - "begin": 5803, - "end": 6083, - "name": "POP", - "source": 13 - }, - { - "begin": 5693, - "end": 6083, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 5693, - "end": 6083, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 5693, - "end": 6083, - "name": "POP", - "source": 13 - }, - { - "begin": 5693, - "end": 6083, - "name": "POP", - "source": 13 - }, - { - "begin": 5693, - "end": 6083, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 6089, - "end": 6240, - "name": "tag", - "source": 13, - "value": "177" - }, - { - "begin": 6089, - "end": 6240, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 6229, - "end": 6232, - "name": "PUSH", - "source": 13, - "value": "2E00000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 6225, - "end": 6226, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 6217, - "end": 6223, - "name": "DUP3", - "source": 13 - }, - { - "begin": 6213, - "end": 6227, - "name": "ADD", - "source": 13 - }, - { - "begin": 6206, - "end": 6233, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 6089, - "end": 6240, - "name": "POP", - "source": 13 - }, - { - "begin": 6089, - "end": 6240, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 6246, - "end": 6646, - "name": "tag", - "source": 13, - "value": "178" - }, - { - "begin": 6246, - "end": 6646, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 6406, - "end": 6409, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 6427, - "end": 6511, - "name": "PUSH [tag]", - "source": 13, - "value": "252" - }, - { - "begin": 6509, - "end": 6510, - "name": "PUSH", - "source": 13, - "value": "1" - }, - { - "begin": 6504, - "end": 6507, - "name": "DUP4", - "source": 13 - }, - { - "begin": 6427, - "end": 6511, - "name": "PUSH [tag]", - "source": 13, - "value": "175" - }, - { - "begin": 6427, - "end": 6511, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 6427, - "end": 6511, - "name": "tag", - "source": 13, - "value": "252" - }, - { - "begin": 6427, - "end": 6511, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 6420, - "end": 6511, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 6420, - "end": 6511, - "name": "POP", - "source": 13 - }, - { - "begin": 6520, - "end": 6613, - "name": "PUSH [tag]", - "source": 13, - "value": "253" - }, - { - "begin": 6609, - "end": 6612, - "name": "DUP3", - "source": 13 - }, - { - "begin": 6520, - "end": 6613, - "name": "PUSH [tag]", - "source": 13, - "value": "177" - }, - { - "begin": 6520, - "end": 6613, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 6520, - "end": 6613, - "name": "tag", - "source": 13, - "value": "253" - }, - { - "begin": 6520, - "end": 6613, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 6638, - "end": 6639, - "name": "PUSH", - "source": 13, - "value": "1" - }, - { - "begin": 6633, - "end": 6636, - "name": "DUP3", - "source": 13 - }, - { - "begin": 6629, - "end": 6640, - "name": "ADD", - "source": 13 - }, - { - "begin": 6622, - "end": 6640, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 6622, - "end": 6640, - "name": "POP", - "source": 13 - }, - { - "begin": 6246, - "end": 6646, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 6246, - "end": 6646, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 6246, - "end": 6646, - "name": "POP", - "source": 13 - }, - { - "begin": 6246, - "end": 6646, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 6652, - "end": 7779, - "name": "tag", - "source": 13, - "value": "48" - }, - { - "begin": 6652, - "end": 7779, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 7082, - "end": 7085, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 7104, - "end": 7199, - "name": "PUSH [tag]", - "source": 13, - "value": "255" - }, - { - "begin": 7195, - "end": 7198, - "name": "DUP3", - "source": 13 - }, - { - "begin": 7186, - "end": 7192, - "name": "DUP7", - "source": 13 - }, - { - "begin": 7104, - "end": 7199, - "name": "PUSH [tag]", - "source": 13, - "value": "176" - }, - { - "begin": 7104, - "end": 7199, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 7104, - "end": 7199, - "name": "tag", - "source": 13, - "value": "255" - }, - { - "begin": 7104, - "end": 7199, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 7097, - "end": 7199, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 7097, - "end": 7199, - "name": "POP", - "source": 13 - }, - { - "begin": 7216, - "end": 7364, - "name": "PUSH [tag]", - "source": 13, - "value": "256" - }, - { - "begin": 7360, - "end": 7363, - "name": "DUP3", - "source": 13 - }, - { - "begin": 7216, - "end": 7364, - "name": "PUSH [tag]", - "source": 13, - "value": "178" - }, - { - "begin": 7216, - "end": 7364, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 7216, - "end": 7364, - "name": "tag", - "source": 13, - "value": "256" - }, - { - "begin": 7216, - "end": 7364, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 7209, - "end": 7364, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 7209, - "end": 7364, - "name": "POP", - "source": 13 - }, - { - "begin": 7381, - "end": 7476, - "name": "PUSH [tag]", - "source": 13, - "value": "257" - }, - { - "begin": 7472, - "end": 7475, - "name": "DUP3", - "source": 13 - }, - { - "begin": 7463, - "end": 7469, - "name": "DUP6", - "source": 13 - }, - { - "begin": 7381, - "end": 7476, - "name": "PUSH [tag]", - "source": 13, - "value": "176" - }, - { - "begin": 7381, - "end": 7476, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 7381, - "end": 7476, - "name": "tag", - "source": 13, - "value": "257" - }, - { - "begin": 7381, - "end": 7476, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 7374, - "end": 7476, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 7374, - "end": 7476, - "name": "POP", - "source": 13 - }, - { - "begin": 7493, - "end": 7641, - "name": "PUSH [tag]", - "source": 13, - "value": "258" - }, - { - "begin": 7637, - "end": 7640, - "name": "DUP3", - "source": 13 - }, - { - "begin": 7493, - "end": 7641, - "name": "PUSH [tag]", - "source": 13, - "value": "178" - }, - { - "begin": 7493, - "end": 7641, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 7493, - "end": 7641, - "name": "tag", - "source": 13, - "value": "258" - }, - { - "begin": 7493, - "end": 7641, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 7486, - "end": 7641, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 7486, - "end": 7641, - "name": "POP", - "source": 13 - }, - { - "begin": 7658, - "end": 7753, - "name": "PUSH [tag]", - "source": 13, - "value": "259" - }, - { - "begin": 7749, - "end": 7752, - "name": "DUP3", - "source": 13 - }, - { - "begin": 7740, - "end": 7746, - "name": "DUP5", - "source": 13 - }, - { - "begin": 7658, - "end": 7753, - "name": "PUSH [tag]", - "source": 13, - "value": "176" - }, - { - "begin": 7658, - "end": 7753, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 7658, - "end": 7753, - "name": "tag", - "source": 13, - "value": "259" - }, - { - "begin": 7658, - "end": 7753, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 7651, - "end": 7753, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 7651, - "end": 7753, - "name": "POP", - "source": 13 - }, - { - "begin": 7770, - "end": 7773, - "name": "DUP2", - "source": 13 - }, - { - "begin": 7763, - "end": 7773, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 7763, - "end": 7773, - "name": "POP", - "source": 13 - }, - { - "begin": 6652, - "end": 7779, - "name": "SWAP5", - "source": 13 - }, - { - "begin": 6652, - "end": 7779, - "name": "SWAP4", - "source": 13 - }, - { - "begin": 6652, - "end": 7779, - "name": "POP", - "source": 13 - }, - { - "begin": 6652, - "end": 7779, - "name": "POP", - "source": 13 - }, - { - "begin": 6652, - "end": 7779, - "name": "POP", - "source": 13 - }, - { - "begin": 6652, - "end": 7779, - "name": "POP", - "source": 13 - }, - { - "begin": 6652, - "end": 7779, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 7785, - "end": 7965, - "name": "tag", - "source": 13, - "value": "59" - }, - { - "begin": 7785, - "end": 7965, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 7833, - "end": 7910, - "name": "PUSH", - "source": 13, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 7830, - "end": 7831, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 7823, - "end": 7911, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 7930, - "end": 7934, - "name": "PUSH", - "source": 13, - "value": "32" - }, - { - "begin": 7927, - "end": 7928, - "name": "PUSH", - "source": 13, - "value": "4" - }, - { - "begin": 7920, - "end": 7935, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 7954, - "end": 7958, - "name": "PUSH", - "source": 13, - "value": "24" - }, - { - "begin": 7951, - "end": 7952, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 7944, - "end": 7959, - "name": "REVERT", - "source": 13 - }, - { - "begin": 7971, - "end": 8088, - "name": "tag", - "source": 13, - "value": "179" - }, - { - "begin": 7971, - "end": 8088, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 8080, - "end": 8081, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 8077, - "end": 8078, - "name": "DUP1", - "source": 13 - }, - { - "begin": 8070, - "end": 8082, - "name": "REVERT", - "source": 13 - }, - { - "begin": 8094, - "end": 8211, - "name": "tag", - "source": 13, - "value": "180" - }, - { - "begin": 8094, - "end": 8211, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 8203, - "end": 8204, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 8200, - "end": 8201, - "name": "DUP1", - "source": 13 - }, - { - "begin": 8193, - "end": 8205, - "name": "REVERT", - "source": 13 - }, - { - "begin": 8217, - "end": 8334, - "name": "tag", - "source": 13, - "value": "181" - }, - { - "begin": 8217, - "end": 8334, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 8326, - "end": 8327, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 8323, - "end": 8324, - "name": "DUP1", - "source": 13 - }, - { - "begin": 8316, - "end": 8328, - "name": "REVERT", - "source": 13 - }, - { - "begin": 8340, - "end": 8739, - "name": "tag", - "source": 13, - "value": "65" - }, - { - "begin": 8340, - "end": 8739, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 8437, - "end": 8441, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 8491, - "end": 8502, - "name": "DUP3", - "source": 13 - }, - { - "begin": 8478, - "end": 8503, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 8593, - "end": 8594, - "name": "PUSH", - "source": 13, - "value": "1" - }, - { - "begin": 8585, - "end": 8591, - "name": "PUSH", - "source": 13, - "value": "140" - }, - { - "begin": 8581, - "end": 8595, - "name": "SUB", - "source": 13 - }, - { - "begin": 8570, - "end": 8578, - "name": "DUP4", - "source": 13 - }, - { - "begin": 8554, - "end": 8568, - "name": "CALLDATASIZE", - "source": 13 - }, - { - "begin": 8550, - "end": 8579, - "name": "SUB", - "source": 13 - }, - { - "begin": 8546, - "end": 8596, - "name": "SUB", - "source": 13 - }, - { - "begin": 8526, - "end": 8544, - "name": "DUP2", - "source": 13 - }, - { - "begin": 8522, - "end": 8597, - "name": "SLT", - "source": 13 - }, - { - "begin": 8512, - "end": 8682, - "name": "PUSH [tag]", - "source": 13, - "value": "265" - }, - { - "begin": 8512, - "end": 8682, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 8601, - "end": 8680, - "name": "PUSH [tag]", - "source": 13, - "value": "266" - }, - { - "begin": 8601, - "end": 8680, - "name": "PUSH [tag]", - "source": 13, - "value": "179" - }, - { - "begin": 8601, - "end": 8680, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 8601, - "end": 8680, - "name": "tag", - "source": 13, - "value": "266" - }, - { - "begin": 8601, - "end": 8680, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 8512, - "end": 8682, - "name": "tag", - "source": 13, - "value": "265" - }, - { - "begin": 8512, - "end": 8682, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 8713, - "end": 8731, - "name": "DUP1", - "source": 13 - }, - { - "begin": 8703, - "end": 8711, - "name": "DUP4", - "source": 13 - }, - { - "begin": 8699, - "end": 8732, - "name": "ADD", - "source": 13 - }, - { - "begin": 8691, - "end": 8732, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 8691, - "end": 8732, - "name": "POP", - "source": 13 - }, - { - "begin": 8442, - "end": 8739, - "name": "POP", - "source": 13 - }, - { - "begin": 8340, - "end": 8739, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 8340, - "end": 8739, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 8340, - "end": 8739, - "name": "POP", - "source": 13 - }, - { - "begin": 8340, - "end": 8739, - "name": "POP", - "source": 13 - }, - { - "begin": 8340, - "end": 8739, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 8745, - "end": 8925, - "name": "tag", - "source": 13, - "value": "100" - }, - { - "begin": 8745, - "end": 8925, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 8793, - "end": 8870, - "name": "PUSH", - "source": 13, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 8790, - "end": 8791, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 8783, - "end": 8871, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 8890, - "end": 8894, - "name": "PUSH", - "source": 13, - "value": "41" - }, - { - "begin": 8887, - "end": 8888, - "name": "PUSH", - "source": 13, - "value": "4" - }, - { - "begin": 8880, - "end": 8895, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 8914, - "end": 8918, - "name": "PUSH", - "source": 13, - "value": "24" - }, - { - "begin": 8911, - "end": 8912, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 8904, - "end": 8919, - "name": "REVERT", - "source": 13 - }, - { - "begin": 8931, - "end": 9111, - "name": "tag", - "source": 13, - "value": "106" - }, - { - "begin": 8931, - "end": 9111, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 8979, - "end": 9056, - "name": "PUSH", - "source": 13, - "value": "4E487B7100000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 8976, - "end": 8977, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 8969, - "end": 9057, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 9076, - "end": 9080, - "name": "PUSH", - "source": 13, - "value": "12" - }, - { - "begin": 9073, - "end": 9074, - "name": "PUSH", - "source": 13, - "value": "4" - }, - { - "begin": 9066, - "end": 9081, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 9100, - "end": 9104, - "name": "PUSH", - "source": 13, - "value": "24" - }, - { - "begin": 9097, - "end": 9098, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 9090, - "end": 9105, - "name": "REVERT", - "source": 13 - }, - { - "begin": 9117, - "end": 9243, - "name": "tag", - "source": 13, - "value": "182" - }, - { - "begin": 9117, - "end": 9243, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9154, - "end": 9161, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 9194, - "end": 9236, - "name": "PUSH", - "source": 13, - "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - { - "begin": 9187, - "end": 9192, - "name": "DUP3", - "source": 13 - }, - { - "begin": 9183, - "end": 9237, - "name": "AND", - "source": 13 - }, - { - "begin": 9172, - "end": 9237, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 9172, - "end": 9237, - "name": "POP", - "source": 13 - }, - { - "begin": 9117, - "end": 9243, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 9117, - "end": 9243, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 9117, - "end": 9243, - "name": "POP", - "source": 13 - }, - { - "begin": 9117, - "end": 9243, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9249, - "end": 9345, - "name": "tag", - "source": 13, - "value": "183" - }, - { - "begin": 9249, - "end": 9345, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9286, - "end": 9293, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 9315, - "end": 9339, - "name": "PUSH [tag]", - "source": 13, - "value": "271" - }, - { - "begin": 9333, - "end": 9338, - "name": "DUP3", - "source": 13 - }, - { - "begin": 9315, - "end": 9339, - "name": "PUSH [tag]", - "source": 13, - "value": "182" - }, - { - "begin": 9315, - "end": 9339, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9315, - "end": 9339, - "name": "tag", - "source": 13, - "value": "271" - }, - { - "begin": 9315, - "end": 9339, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9304, - "end": 9339, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 9304, - "end": 9339, - "name": "POP", - "source": 13 - }, - { - "begin": 9249, - "end": 9345, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 9249, - "end": 9345, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 9249, - "end": 9345, - "name": "POP", - "source": 13 - }, - { - "begin": 9249, - "end": 9345, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9351, - "end": 9473, - "name": "tag", - "source": 13, - "value": "184" - }, - { - "begin": 9351, - "end": 9473, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9424, - "end": 9448, - "name": "PUSH [tag]", - "source": 13, - "value": "273" - }, - { - "begin": 9442, - "end": 9447, - "name": "DUP2", - "source": 13 - }, - { - "begin": 9424, - "end": 9448, - "name": "PUSH [tag]", - "source": 13, - "value": "183" - }, - { - "begin": 9424, - "end": 9448, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9424, - "end": 9448, - "name": "tag", - "source": 13, - "value": "273" - }, - { - "begin": 9424, - "end": 9448, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9417, - "end": 9422, - "name": "DUP2", - "source": 13 - }, - { - "begin": 9414, - "end": 9449, - "name": "EQ", - "source": 13 - }, - { - "begin": 9404, - "end": 9467, - "name": "PUSH [tag]", - "source": 13, - "value": "274" - }, - { - "begin": 9404, - "end": 9467, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 9463, - "end": 9464, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 9460, - "end": 9461, - "name": "DUP1", - "source": 13 - }, - { - "begin": 9453, - "end": 9465, - "name": "REVERT", - "source": 13 - }, - { - "begin": 9404, - "end": 9467, - "name": "tag", - "source": 13, - "value": "274" - }, - { - "begin": 9404, - "end": 9467, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9351, - "end": 9473, - "name": "POP", - "source": 13 - }, - { - "begin": 9351, - "end": 9473, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9479, - "end": 9618, - "name": "tag", - "source": 13, - "value": "185" - }, - { - "begin": 9479, - "end": 9618, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9525, - "end": 9530, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 9563, - "end": 9569, - "name": "DUP2", - "source": 13 - }, - { - "begin": 9550, - "end": 9570, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 9541, - "end": 9570, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 9541, - "end": 9570, - "name": "POP", - "source": 13 - }, - { - "begin": 9579, - "end": 9612, - "name": "PUSH [tag]", - "source": 13, - "value": "276" - }, - { - "begin": 9606, - "end": 9611, - "name": "DUP2", - "source": 13 - }, - { - "begin": 9579, - "end": 9612, - "name": "PUSH [tag]", - "source": 13, - "value": "184" - }, - { - "begin": 9579, - "end": 9612, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9579, - "end": 9612, - "name": "tag", - "source": 13, - "value": "276" - }, - { - "begin": 9579, - "end": 9612, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9479, - "end": 9618, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 9479, - "end": 9618, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 9479, - "end": 9618, - "name": "POP", - "source": 13 - }, - { - "begin": 9479, - "end": 9618, - "name": "POP", - "source": 13 - }, - { - "begin": 9479, - "end": 9618, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9624, - "end": 9953, - "name": "tag", - "source": 13, - "value": "114" - }, - { - "begin": 9624, - "end": 9953, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9683, - "end": 9689, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 9732, - "end": 9734, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 9720, - "end": 9729, - "name": "DUP3", - "source": 13 - }, - { - "begin": 9711, - "end": 9718, - "name": "DUP5", - "source": 13 - }, - { - "begin": 9707, - "end": 9730, - "name": "SUB", - "source": 13 - }, - { - "begin": 9703, - "end": 9735, - "name": "SLT", - "source": 13 - }, - { - "begin": 9700, - "end": 9819, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 9700, - "end": 9819, - "name": "PUSH [tag]", - "source": 13, - "value": "278" - }, - { - "begin": 9700, - "end": 9819, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 9738, - "end": 9817, - "name": "PUSH [tag]", - "source": 13, - "value": "279" - }, - { - "begin": 9738, - "end": 9817, - "name": "PUSH [tag]", - "source": 13, - "value": "164" - }, - { - "begin": 9738, - "end": 9817, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9738, - "end": 9817, - "name": "tag", - "source": 13, - "value": "279" - }, - { - "begin": 9738, - "end": 9817, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9700, - "end": 9819, - "name": "tag", - "source": 13, - "value": "278" - }, - { - "begin": 9700, - "end": 9819, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9858, - "end": 9859, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 9883, - "end": 9936, - "name": "PUSH [tag]", - "source": 13, - "value": "280" - }, - { - "begin": 9928, - "end": 9935, - "name": "DUP5", - "source": 13 - }, - { - "begin": 9919, - "end": 9925, - "name": "DUP3", - "source": 13 - }, - { - "begin": 9908, - "end": 9917, - "name": "DUP6", - "source": 13 - }, - { - "begin": 9904, - "end": 9926, - "name": "ADD", - "source": 13 - }, - { - "begin": 9883, - "end": 9936, - "name": "PUSH [tag]", - "source": 13, - "value": "185" - }, - { - "begin": 9883, - "end": 9936, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9883, - "end": 9936, - "name": "tag", - "source": 13, - "value": "280" - }, - { - "begin": 9883, - "end": 9936, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 9873, - "end": 9936, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 9873, - "end": 9936, - "name": "POP", - "source": 13 - }, - { - "begin": 9829, - "end": 9946, - "name": "POP", - "source": 13 - }, - { - "begin": 9624, - "end": 9953, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 9624, - "end": 9953, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 9624, - "end": 9953, - "name": "POP", - "source": 13 - }, - { - "begin": 9624, - "end": 9953, - "name": "POP", - "source": 13 - }, - { - "begin": 9624, - "end": 9953, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 9959, - "end": 10683, - "name": "tag", - "source": 13, - "value": "120" - }, - { - "begin": 9959, - "end": 10683, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10036, - "end": 10040, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 10042, - "end": 10048, - "name": "DUP1", - "source": 13 - }, - { - "begin": 10098, - "end": 10109, - "name": "DUP4", - "source": 13 - }, - { - "begin": 10085, - "end": 10110, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 10198, - "end": 10199, - "name": "PUSH", - "source": 13, - "value": "1" - }, - { - "begin": 10192, - "end": 10196, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 10188, - "end": 10200, - "name": "SUB", - "source": 13 - }, - { - "begin": 10177, - "end": 10185, - "name": "DUP5", - "source": 13 - }, - { - "begin": 10161, - "end": 10175, - "name": "CALLDATASIZE", - "source": 13 - }, - { - "begin": 10157, - "end": 10186, - "name": "SUB", - "source": 13 - }, - { - "begin": 10153, - "end": 10201, - "name": "SUB", - "source": 13 - }, - { - "begin": 10133, - "end": 10151, - "name": "DUP2", - "source": 13 - }, - { - "begin": 10129, - "end": 10202, - "name": "SLT", - "source": 13 - }, - { - "begin": 10119, - "end": 10287, - "name": "PUSH [tag]", - "source": 13, - "value": "282" - }, - { - "begin": 10119, - "end": 10287, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 10206, - "end": 10285, - "name": "PUSH [tag]", - "source": 13, - "value": "283" - }, - { - "begin": 10206, - "end": 10285, - "name": "PUSH [tag]", - "source": 13, - "value": "179" - }, - { - "begin": 10206, - "end": 10285, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 10206, - "end": 10285, - "name": "tag", - "source": 13, - "value": "283" - }, - { - "begin": 10206, - "end": 10285, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10119, - "end": 10287, - "name": "tag", - "source": 13, - "value": "282" - }, - { - "begin": 10119, - "end": 10287, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10318, - "end": 10336, - "name": "DUP1", - "source": 13 - }, - { - "begin": 10308, - "end": 10316, - "name": "DUP5", - "source": 13 - }, - { - "begin": 10304, - "end": 10337, - "name": "ADD", - "source": 13 - }, - { - "begin": 10296, - "end": 10337, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 10296, - "end": 10337, - "name": "POP", - "source": 13 - }, - { - "begin": 10370, - "end": 10374, - "name": "DUP3", - "source": 13 - }, - { - "begin": 10357, - "end": 10375, - "name": "CALLDATALOAD", - "source": 13 - }, - { - "begin": 10347, - "end": 10375, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 10347, - "end": 10375, - "name": "POP", - "source": 13 - }, - { - "begin": 10398, - "end": 10416, - "name": "PUSH", - "source": 13, - "value": "FFFFFFFFFFFFFFFF" - }, - { - "begin": 10390, - "end": 10396, - "name": "DUP3", - "source": 13 - }, - { - "begin": 10387, - "end": 10417, - "name": "GT", - "source": 13 - }, - { - "begin": 10384, - "end": 10501, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 10384, - "end": 10501, - "name": "PUSH [tag]", - "source": 13, - "value": "284" - }, - { - "begin": 10384, - "end": 10501, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 10420, - "end": 10499, - "name": "PUSH [tag]", - "source": 13, - "value": "285" - }, - { - "begin": 10420, - "end": 10499, - "name": "PUSH [tag]", - "source": 13, - "value": "180" - }, - { - "begin": 10420, - "end": 10499, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 10420, - "end": 10499, - "name": "tag", - "source": 13, - "value": "285" - }, - { - "begin": 10420, - "end": 10499, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10384, - "end": 10501, - "name": "tag", - "source": 13, - "value": "284" - }, - { - "begin": 10384, - "end": 10501, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10528, - "end": 10530, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 10522, - "end": 10526, - "name": "DUP4", - "source": 13 - }, - { - "begin": 10518, - "end": 10531, - "name": "ADD", - "source": 13 - }, - { - "begin": 10510, - "end": 10531, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 10510, - "end": 10531, - "name": "POP", - "source": 13 - }, - { - "begin": 10585, - "end": 10589, - "name": "PUSH", - "source": 13, - "value": "1" - }, - { - "begin": 10577, - "end": 10583, - "name": "DUP3", - "source": 13 - }, - { - "begin": 10573, - "end": 10590, - "name": "MUL", - "source": 13 - }, - { - "begin": 10557, - "end": 10571, - "name": "CALLDATASIZE", - "source": 13 - }, - { - "begin": 10553, - "end": 10591, - "name": "SUB", - "source": 13 - }, - { - "begin": 10547, - "end": 10551, - "name": "DUP4", - "source": 13 - }, - { - "begin": 10543, - "end": 10592, - "name": "SGT", - "source": 13 - }, - { - "begin": 10540, - "end": 10676, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 10540, - "end": 10676, - "name": "PUSH [tag]", - "source": 13, - "value": "286" - }, - { - "begin": 10540, - "end": 10676, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 10595, - "end": 10674, - "name": "PUSH [tag]", - "source": 13, - "value": "287" - }, - { - "begin": 10595, - "end": 10674, - "name": "PUSH [tag]", - "source": 13, - "value": "181" - }, - { - "begin": 10595, - "end": 10674, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 10595, - "end": 10674, - "name": "tag", - "source": 13, - "value": "287" - }, - { - "begin": 10595, - "end": 10674, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10540, - "end": 10676, - "name": "tag", - "source": 13, - "value": "286" - }, - { - "begin": 10540, - "end": 10676, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10049, - "end": 10683, - "name": "POP", - "source": 13 - }, - { - "begin": 9959, - "end": 10683, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 9959, - "end": 10683, - "name": "POP", - "source": 13 - }, - { - "begin": 9959, - "end": 10683, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 9959, - "end": 10683, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 9959, - "end": 10683, - "name": "POP", - "source": 13 - }, - { - "begin": 9959, - "end": 10683, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 10689, - "end": 10832, - "name": "tag", - "source": 13, - "value": "186" - }, - { - "begin": 10689, - "end": 10832, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10746, - "end": 10751, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 10777, - "end": 10783, - "name": "DUP2", - "source": 13 - }, - { - "begin": 10771, - "end": 10784, - "name": "MLOAD", - "source": 13 - }, - { - "begin": 10762, - "end": 10784, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 10762, - "end": 10784, - "name": "POP", - "source": 13 - }, - { - "begin": 10793, - "end": 10826, - "name": "PUSH [tag]", - "source": 13, - "value": "289" - }, - { - "begin": 10820, - "end": 10825, - "name": "DUP2", - "source": 13 - }, - { - "begin": 10793, - "end": 10826, - "name": "PUSH [tag]", - "source": 13, - "value": "184" - }, - { - "begin": 10793, - "end": 10826, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 10793, - "end": 10826, - "name": "tag", - "source": 13, - "value": "289" - }, - { - "begin": 10793, - "end": 10826, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10689, - "end": 10832, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 10689, - "end": 10832, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 10689, - "end": 10832, - "name": "POP", - "source": 13 - }, - { - "begin": 10689, - "end": 10832, - "name": "POP", - "source": 13 - }, - { - "begin": 10689, - "end": 10832, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 10838, - "end": 11189, - "name": "tag", - "source": 13, - "value": "127" - }, - { - "begin": 10838, - "end": 11189, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10908, - "end": 10914, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 10957, - "end": 10959, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 10945, - "end": 10954, - "name": "DUP3", - "source": 13 - }, - { - "begin": 10936, - "end": 10943, - "name": "DUP5", - "source": 13 - }, - { - "begin": 10932, - "end": 10955, - "name": "SUB", - "source": 13 - }, - { - "begin": 10928, - "end": 10960, - "name": "SLT", - "source": 13 - }, - { - "begin": 10925, - "end": 11044, - "name": "ISZERO", - "source": 13 - }, - { - "begin": 10925, - "end": 11044, - "name": "PUSH [tag]", - "source": 13, - "value": "291" - }, - { - "begin": 10925, - "end": 11044, - "name": "JUMPI", - "source": 13 - }, - { - "begin": 10963, - "end": 11042, - "name": "PUSH [tag]", - "source": 13, - "value": "292" - }, - { - "begin": 10963, - "end": 11042, - "name": "PUSH [tag]", - "source": 13, - "value": "164" - }, - { - "begin": 10963, - "end": 11042, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 10963, - "end": 11042, - "name": "tag", - "source": 13, - "value": "292" - }, - { - "begin": 10963, - "end": 11042, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 10925, - "end": 11044, - "name": "tag", - "source": 13, - "value": "291" - }, - { - "begin": 10925, - "end": 11044, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 11083, - "end": 11084, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 11108, - "end": 11172, - "name": "PUSH [tag]", - "source": 13, - "value": "293" - }, - { - "begin": 11164, - "end": 11171, - "name": "DUP5", - "source": 13 - }, - { - "begin": 11155, - "end": 11161, - "name": "DUP3", - "source": 13 - }, - { - "begin": 11144, - "end": 11153, - "name": "DUP6", - "source": 13 - }, - { - "begin": 11140, - "end": 11162, - "name": "ADD", - "source": 13 - }, - { - "begin": 11108, - "end": 11172, - "name": "PUSH [tag]", - "source": 13, - "value": "186" - }, - { - "begin": 11108, - "end": 11172, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 11108, - "end": 11172, - "name": "tag", - "source": 13, - "value": "293" - }, - { - "begin": 11108, - "end": 11172, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 11098, - "end": 11172, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 11098, - "end": 11172, - "name": "POP", - "source": 13 - }, - { - "begin": 11054, - "end": 11182, - "name": "POP", - "source": 13 - }, - { - "begin": 10838, - "end": 11189, - "name": "SWAP3", - "source": 13 - }, - { - "begin": 10838, - "end": 11189, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 10838, - "end": 11189, - "name": "POP", - "source": 13 - }, - { - "begin": 10838, - "end": 11189, - "name": "POP", - "source": 13 - }, - { - "begin": 10838, - "end": 11189, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 11195, - "end": 11359, - "name": "tag", - "source": 13, - "value": "187" - }, - { - "begin": 11195, - "end": 11359, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 11335, - "end": 11351, - "name": "PUSH", - "source": 13, - "value": "4461746120746F6F2073686F7274000000000000000000000000000000000000" - }, - { - "begin": 11331, - "end": 11332, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 11323, - "end": 11329, - "name": "DUP3", - "source": 13 - }, - { - "begin": 11319, - "end": 11333, - "name": "ADD", - "source": 13 - }, - { - "begin": 11312, - "end": 11352, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 11195, - "end": 11359, - "name": "POP", - "source": 13 - }, - { - "begin": 11195, - "end": 11359, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 11365, - "end": 11731, - "name": "tag", - "source": 13, - "value": "188" - }, - { - "begin": 11365, - "end": 11731, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 11507, - "end": 11510, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 11528, - "end": 11595, - "name": "PUSH [tag]", - "source": 13, - "value": "296" - }, - { - "begin": 11592, - "end": 11594, - "name": "PUSH", - "source": 13, - "value": "E" - }, - { - "begin": 11587, - "end": 11590, - "name": "DUP4", - "source": 13 - }, - { - "begin": 11528, - "end": 11595, - "name": "PUSH [tag]", - "source": 13, - "value": "159" - }, - { - "begin": 11528, - "end": 11595, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 11528, - "end": 11595, - "name": "tag", - "source": 13, - "value": "296" - }, - { - "begin": 11528, - "end": 11595, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 11521, - "end": 11595, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 11521, - "end": 11595, - "name": "POP", - "source": 13 - }, - { - "begin": 11604, - "end": 11697, - "name": "PUSH [tag]", - "source": 13, - "value": "297" - }, - { - "begin": 11693, - "end": 11696, - "name": "DUP3", - "source": 13 - }, - { - "begin": 11604, - "end": 11697, - "name": "PUSH [tag]", - "source": 13, - "value": "187" - }, - { - "begin": 11604, - "end": 11697, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 11604, - "end": 11697, - "name": "tag", - "source": 13, - "value": "297" - }, - { - "begin": 11604, - "end": 11697, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 11722, - "end": 11724, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 11717, - "end": 11720, - "name": "DUP3", - "source": 13 - }, - { - "begin": 11713, - "end": 11725, - "name": "ADD", - "source": 13 - }, - { - "begin": 11706, - "end": 11725, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 11706, - "end": 11725, - "name": "POP", - "source": 13 - }, - { - "begin": 11365, - "end": 11731, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 11365, - "end": 11731, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 11365, - "end": 11731, - "name": "POP", - "source": 13 - }, - { - "begin": 11365, - "end": 11731, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 11737, - "end": 12156, - "name": "tag", - "source": 13, - "value": "157" - }, - { - "begin": 11737, - "end": 12156, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 11903, - "end": 11907, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 11941, - "end": 11943, - "name": "PUSH", - "source": 13, - "value": "20" - }, - { - "begin": 11930, - "end": 11939, - "name": "DUP3", - "source": 13 - }, - { - "begin": 11926, - "end": 11944, - "name": "ADD", - "source": 13 - }, - { - "begin": 11918, - "end": 11944, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 11918, - "end": 11944, - "name": "POP", - "source": 13 - }, - { - "begin": 11990, - "end": 11999, - "name": "DUP2", - "source": 13 - }, - { - "begin": 11984, - "end": 11988, - "name": "DUP2", - "source": 13 - }, - { - "begin": 11980, - "end": 12000, - "name": "SUB", - "source": 13 - }, - { - "begin": 11976, - "end": 11977, - "name": "PUSH", - "source": 13, - "value": "0" - }, - { - "begin": 11965, - "end": 11974, - "name": "DUP4", - "source": 13 - }, - { - "begin": 11961, - "end": 11978, - "name": "ADD", - "source": 13 - }, - { - "begin": 11954, - "end": 12001, - "name": "MSTORE", - "source": 13 - }, - { - "begin": 12018, - "end": 12149, - "name": "PUSH [tag]", - "source": 13, - "value": "299" - }, - { - "begin": 12144, - "end": 12148, - "name": "DUP2", - "source": 13 - }, - { - "begin": 12018, - "end": 12149, - "name": "PUSH [tag]", - "source": 13, - "value": "188" - }, - { - "begin": 12018, - "end": 12149, - "jumpType": "[in]", - "name": "JUMP", - "source": 13 - }, - { - "begin": 12018, - "end": 12149, - "name": "tag", - "source": 13, - "value": "299" - }, - { - "begin": 12018, - "end": 12149, - "name": "JUMPDEST", - "source": 13 - }, - { - "begin": 12010, - "end": 12149, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 12010, - "end": 12149, - "name": "POP", - "source": 13 - }, - { - "begin": 11737, - "end": 12156, - "name": "SWAP2", - "source": 13 - }, - { - "begin": 11737, - "end": 12156, - "name": "SWAP1", - "source": 13 - }, - { - "begin": 11737, - "end": 12156, - "name": "POP", - "source": 13 - }, - { - "begin": 11737, - "end": 12156, - "jumpType": "[out]", - "name": "JUMP", - "source": 13 - } - ] - } - }, - "sourceList": [ - "@openzeppelin/contracts/access/Ownable.sol", - "@openzeppelin/contracts/utils/Context.sol", - "@openzeppelin/contracts/utils/Strings.sol", - "@openzeppelin/contracts/utils/math/Math.sol", - "@openzeppelin/contracts/utils/math/SignedMath.sol", - "EAS/Common.sol", - "EAS/IEAS.sol", - "EAS/ISchemaRegistry.sol", - "EAS/ISchemaResolver.sol", - "EAS/ISemver.sol", - "EAS/SchemaResolver.sol", - "EAS/Semver.sol", - "ownable-resolver.sol", - "#utility.yul" - ] - }, - "methodIdentifiers": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e60c3505", - "isPayable()": "ce46e046", - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "91db0b7e", - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": "88e5b2d9", - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": "e49617e1", - "version()": "54fd4d50" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEAS\",\"name\":\"eas\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEAS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPayable\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPayable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiRevoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The new attestation.\"},\"returns\":{\"_0\":\"Whether the attestation is valid.\"}},\"isPayable()\":{\"returns\":{\"_0\":\"Whether the resolver supports ETH transfers.\"}},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The new attestations.\",\"values\":\"Explicit ETH amounts which were sent with each attestation.\"},\"returns\":{\"_0\":\"Whether all the attestations are valid.\"}},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The existing attestations to be revoked.\",\"values\":\"Explicit ETH amounts which were sent with each revocation.\"},\"returns\":{\"_0\":\"Whether the attestations can be revoked.\"}},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The existing attestation to be revoked.\"},\"returns\":{\"_0\":\"Whether the attestation can be revoked.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"title\":\"A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation and verifies whether it's valid.\"},\"isPayable()\":{\"notice\":\"Checks if the resolver can be sent ETH.\"},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes multiple attestations and verifies whether they are valid.\"},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes revocation of multiple attestation and verifies they can be revoked.\"},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation revocation and verifies if it can be revoked.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"ownable-resolver.sol\":\"OwnerRecipientResolver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"EAS/Common.sol\":{\"keccak256\":\"0x9007deeeb757cfd4c504887f0c82b49f43fe92de13f4ffd9400f457d8c5276c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://949de4842085918b42d71c50f837b468e77871fc1417f480d2a6618f75eeb57d\",\"dweb:/ipfs/QmbyYxXLvryZBHdNKijCmZzwsgU4bnTXszyA38F5Xdg5h1\"]},\"EAS/IEAS.sol\":{\"keccak256\":\"0xdc4fed434a7d7907767ba1dc6a8e9ddc94ede6df08fbea5d827077ef22e8bd8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://297555c22ff767608088c01ba2efe6da4dff7e95b7eb614e09d72cb36d0c989b\",\"dweb:/ipfs/QmQ7YWcBxiaf2mXZL1VLFsYSJPtVTHbWSBuimATVLMC7U4\"]},\"EAS/ISchemaRegistry.sol\":{\"keccak256\":\"0x9f23d5b875dd34e36512ff4ba75615ac5eb56ee20c6451ef2b70da99d95bf006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad6ef991e5d45128cd5632b88088b4c2fc65153f1da313fb6b603f7db0f27749\",\"dweb:/ipfs/QmQGxZEmQ7xYiCVQFEp9N2jjBtJYKd1CYNUNGoGYmV2F47\"]},\"EAS/ISchemaResolver.sol\":{\"keccak256\":\"0x4df78a9ec7244d6f75d58b01c223e865316e16a071eb9d36d28adddcb784d787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0399b3b62b3f95f12a6f09c397249dbf7f517fc6a2a0bc1be1cd0cc962d85888\",\"dweb:/ipfs/QmYozmYWNnntXQaiVigovQRJuVoxHg78btYxZrLwMDQfx8\"]},\"EAS/ISemver.sol\":{\"keccak256\":\"0x6c6073e407395170dfc58d74be5e4cba5d2f6680d2c9aeade07e591dd7c6d5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40f57462c6e329fcf5960e75e9f9a405429f416fec1debcfd4c79c2f10c04dd4\",\"dweb:/ipfs/QmehZy36QoFsBKMMbCo5Jmta5y3uU3so4e4C14MHzx2VDp\"]},\"EAS/SchemaResolver.sol\":{\"keccak256\":\"0xb6dc636c973996ca481d6522decae3ecae8c043c8d2ca5228e8f53a6c0210951\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7f2f9db27662ba6aea6be58351e1cc834a1c84122a6cecfcb6d293628a1364\",\"dweb:/ipfs/QmTkQ7gDaJaY4tgneQyNxmbz9AovJQmMfuZgG8akbAqu5K\"]},\"EAS/Semver.sol\":{\"keccak256\":\"0xcb67b60a08b4acb41ccda1ee2a44bb3d4291f3da9ecd60eed49991bdbfafb972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eea3e91b983ce442be39c0a88c93627043d1c6de342be99562916a948a5933e3\",\"dweb:/ipfs/QmTFeE2vsjwn1pNeSMWAoQ4NivUTHza5DYMgJA854Ddx8F\"]},\"ownable-resolver.sol\":{\"keccak256\":\"0xcc7c94f5c6175bf58d550a8a1376a34af81c94b76f95b097a266b7e5b34a59e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55753db971de8a9f74d847ceb2a51bc75a746a48a388cb170f418f84af776559\",\"dweb:/ipfs/Qmecz5nqbAAwnTPvaVUVVHfkX1Wbj4idsUb8rGZ7YqCSgV\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": { - "attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "notice": "Processes an attestation and verifies whether it's valid." - }, - "isPayable()": { - "notice": "Checks if the resolver can be sent ETH." - }, - "multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "notice": "Processes multiple attestations and verifies whether they are valid." - }, - "multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])": { - "notice": "Processes revocation of multiple attestation and verifies they can be revoked." - }, - "revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))": { - "notice": "Processes an attestation revocation and verifies if it can be revoked." - }, - "version()": { - "notice": "Returns the full semver contract version." - } - }, - "version": 1 - } - } - } - }, - "sources": { - "@openzeppelin/contracts/access/Ownable.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "exportedSymbols": { - "Context": [ - 177 - ], - "Ownable": [ - 147 - ] - }, - "id": 148, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".20" - ], - "nodeType": "PragmaDirective", - "src": "102:24:0" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 3, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 148, - "sourceUnit": 178, - "src": "128:45:0", - "symbolAliases": [ - { - "foreign": { - "id": 2, - "name": "Context", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "136:7:0", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 5, - "name": "Context", - "nameLocations": [ - "692:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 177, - "src": "692:7:0" - }, - "id": 6, - "nodeType": "InheritanceSpecifier", - "src": "692:7:0" - } - ], - "canonicalName": "Ownable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 4, - "nodeType": "StructuredDocumentation", - "src": "175:487:0", - "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." - }, - "fullyImplemented": true, - "id": 147, - "linearizedBaseContracts": [ - 147, - 177 - ], - "name": "Ownable", - "nameLocation": "681:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 8, - "mutability": "mutable", - "name": "_owner", - "nameLocation": "722:6:0", - "nodeType": "VariableDeclaration", - "scope": 147, - "src": "706:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "706:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "private" - }, - { - "documentation": { - "id": 9, - "nodeType": "StructuredDocumentation", - "src": "735:85:0", - "text": " @dev The caller account is not authorized to perform an operation." - }, - "errorSelector": "118cdaa7", - "id": 13, - "name": "OwnableUnauthorizedAccount", - "nameLocation": "831:26:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "mutability": "mutable", - "name": "account", - "nameLocation": "866:7:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "858:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "858:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "857:17:0" - }, - "src": "825:50:0" - }, - { - "documentation": { - "id": 14, - "nodeType": "StructuredDocumentation", - "src": "881:82:0", - "text": " @dev The owner is not a valid owner account. (eg. `address(0)`)" - }, - "errorSelector": "1e4fbdf7", - "id": 18, - "name": "OwnableInvalidOwner", - "nameLocation": "974:19:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 17, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 16, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1002:5:0", - "nodeType": "VariableDeclaration", - "scope": 18, - "src": "994:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 15, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "994:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "993:15:0" - }, - "src": "968:41:0" - }, - { - "anonymous": false, - "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "id": 24, - "name": "OwnershipTransferred", - "nameLocation": "1021:20:0", - "nodeType": "EventDefinition", - "parameters": { - "id": 23, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 20, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nameLocation": "1058:13:0", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "1042:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 19, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1042:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 22, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "1089:8:0", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "1073:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1073:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1041:57:0" - }, - "src": "1015:84:0" - }, - { - "body": { - "id": 49, - "nodeType": "Block", - "src": "1259:153:0", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 35, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 30, - "name": "initialOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "1273:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 33, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1297: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": 32, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1289:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 31, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1289:7:0", - "typeDescriptions": {} - } - }, - "id": 34, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1289:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1273:26:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 44, - "nodeType": "IfStatement", - "src": "1269:95:0", - "trueBody": { - "id": 43, - "nodeType": "Block", - "src": "1301:63:0", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1350: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": 38, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1342:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 37, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1342:7:0", - "typeDescriptions": {} - } - }, - "id": 40, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1342:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 36, - "name": "OwnableInvalidOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "1322:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1322:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 42, - "nodeType": "RevertStatement", - "src": "1315:38:0" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 46, - "name": "initialOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "1392:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 45, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 146, - "src": "1373:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 47, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1373:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 48, - "nodeType": "ExpressionStatement", - "src": "1373:32:0" - } - ] - }, - "documentation": { - "id": 25, - "nodeType": "StructuredDocumentation", - "src": "1105:115:0", - "text": " @dev Initializes the contract setting the address provided by the deployer as the initial owner." - }, - "id": 50, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "initialOwner", - "nameLocation": "1245:12:0", - "nodeType": "VariableDeclaration", - "scope": 50, - "src": "1237:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1237:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1236:22:0" - }, - "returnParameters": { - "id": 29, - "nodeType": "ParameterList", - "parameters": [], - "src": "1259:0:0" - }, - "scope": 147, - "src": "1225:187:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 57, - "nodeType": "Block", - "src": "1521:41:0", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 53, - "name": "_checkOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 84, - "src": "1531:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1531:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 55, - "nodeType": "ExpressionStatement", - "src": "1531:13:0" - }, - { - "id": 56, - "nodeType": "PlaceholderStatement", - "src": "1554:1:0" - } - ] - }, - "documentation": { - "id": 51, - "nodeType": "StructuredDocumentation", - "src": "1418:77:0", - "text": " @dev Throws if called by any account other than the owner." - }, - "id": 58, - "name": "onlyOwner", - "nameLocation": "1509:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 52, - "nodeType": "ParameterList", - "parameters": [], - "src": "1518:2:0" - }, - "src": "1500:62:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 66, - "nodeType": "Block", - "src": "1693:30:0", - "statements": [ - { - "expression": { - "id": 64, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "1710:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 63, - "id": 65, - "nodeType": "Return", - "src": "1703:13:0" - } - ] - }, - "documentation": { - "id": 59, - "nodeType": "StructuredDocumentation", - "src": "1568:65:0", - "text": " @dev Returns the address of the current owner." - }, - "functionSelector": "8da5cb5b", - "id": 67, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "1647:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 60, - "nodeType": "ParameterList", - "parameters": [], - "src": "1652:2:0" - }, - "returnParameters": { - "id": 63, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 62, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 67, - "src": "1684:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 61, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1684:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1683:9:0" - }, - "scope": 147, - "src": "1638:85:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 83, - "nodeType": "Block", - "src": "1841:117:0", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 71, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 67, - "src": "1855:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1855:7:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 73, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 159, - "src": "1866:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 74, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1866:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1855:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82, - "nodeType": "IfStatement", - "src": "1851:101:0", - "trueBody": { - "id": 81, - "nodeType": "Block", - "src": "1880:72:0", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 159, - "src": "1928:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1928:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76, - "name": "OwnableUnauthorizedAccount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "1901:26:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 79, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1901:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 80, - "nodeType": "RevertStatement", - "src": "1894:47:0" - } - ] - } - } - ] - }, - "documentation": { - "id": 68, - "nodeType": "StructuredDocumentation", - "src": "1729:62:0", - "text": " @dev Throws if the sender is not the owner." - }, - "id": 84, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOwner", - "nameLocation": "1805:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 69, - "nodeType": "ParameterList", - "parameters": [], - "src": "1816:2:0" - }, - "returnParameters": { - "id": 70, - "nodeType": "ParameterList", - "parameters": [], - "src": "1841:0:0" - }, - "scope": 147, - "src": "1796:162:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 97, - "nodeType": "Block", - "src": "2347:47:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2384: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": 92, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2376:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 91, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2376:7:0", - "typeDescriptions": {} - } - }, - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2376:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 90, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 146, - "src": "2357:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2357:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 96, - "nodeType": "ExpressionStatement", - "src": "2357:30:0" - } - ] - }, - "documentation": { - "id": 85, - "nodeType": "StructuredDocumentation", - "src": "1964:324:0", - "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner." - }, - "functionSelector": "715018a6", - "id": 98, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 88, - "kind": "modifierInvocation", - "modifierName": { - "id": 87, - "name": "onlyOwner", - "nameLocations": [ - "2337:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58, - "src": "2337:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "2337:9:0" - } - ], - "name": "renounceOwnership", - "nameLocation": "2302:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 86, - "nodeType": "ParameterList", - "parameters": [], - "src": "2319:2:0" - }, - "returnParameters": { - "id": 89, - "nodeType": "ParameterList", - "parameters": [], - "src": "2347:0:0" - }, - "scope": 147, - "src": "2293:101:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 125, - "nodeType": "Block", - "src": "2613:145:0", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 106, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "2627:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2647: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": 108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2639:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2639:7:0", - "typeDescriptions": {} - } - }, - "id": 110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2639:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2627:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 120, - "nodeType": "IfStatement", - "src": "2623:91:0", - "trueBody": { - "id": 119, - "nodeType": "Block", - "src": "2651:63:0", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2700: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": 114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2692:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2692:7:0", - "typeDescriptions": {} - } - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2692:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 112, - "name": "OwnableInvalidOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "2672:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", - "typeString": "function (address) pure returns (error)" - } - }, - "id": 117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2672:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 118, - "nodeType": "RevertStatement", - "src": "2665:38:0" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 122, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "2742:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 121, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 146, - "src": "2723:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2723:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 124, - "nodeType": "ExpressionStatement", - "src": "2723:28:0" - } - ] - }, - "documentation": { - "id": 99, - "nodeType": "StructuredDocumentation", - "src": "2400:138:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." - }, - "functionSelector": "f2fde38b", - "id": 126, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 104, - "kind": "modifierInvocation", - "modifierName": { - "id": 103, - "name": "onlyOwner", - "nameLocations": [ - "2603:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58, - "src": "2603:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "2603:9:0" - } - ], - "name": "transferOwnership", - "nameLocation": "2552:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 101, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2578:8:0", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "2570:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2570:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2569:18:0" - }, - "returnParameters": { - "id": 105, - "nodeType": "ParameterList", - "parameters": [], - "src": "2613:0:0" - }, - "scope": 147, - "src": "2543:215:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 145, - "nodeType": "Block", - "src": "2975:124:0", - "statements": [ - { - "assignments": [ - 133 - ], - "declarations": [ - { - "constant": false, - "id": 133, - "mutability": "mutable", - "name": "oldOwner", - "nameLocation": "2993:8:0", - "nodeType": "VariableDeclaration", - "scope": 145, - "src": "2985:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2985:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 135, - "initialValue": { - "id": 134, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "3004:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2985:25:0" - }, - { - "expression": { - "id": 138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 136, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "3020:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 137, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 129, - "src": "3029:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3020:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 139, - "nodeType": "ExpressionStatement", - "src": "3020:17:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 141, - "name": "oldOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 133, - "src": "3073:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 142, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 129, - "src": "3083:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 140, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "3052:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3052:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 144, - "nodeType": "EmitStatement", - "src": "3047:45:0" - } - ] - }, - "documentation": { - "id": 127, - "nodeType": "StructuredDocumentation", - "src": "2764:143:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." - }, - "id": 146, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOwnership", - "nameLocation": "2921:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 130, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 129, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2948:8:0", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "2940:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2940:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2939:18:0" - }, - "returnParameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [], - "src": "2975:0:0" - }, - "scope": 147, - "src": "2912:187:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 148, - "src": "663:2438:0", - "usedErrors": [ - 13, - 18 - ], - "usedEvents": [ - 24 - ] - } - ], - "src": "102:3000:0" - }, - "id": 0 - }, - "@openzeppelin/contracts/utils/Context.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 177 - ] - }, - "id": 178, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 149, - "literals": [ - "solidity", - "^", - "0.8", - ".20" - ], - "nodeType": "PragmaDirective", - "src": "101:24:1" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "Context", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 150, - "nodeType": "StructuredDocumentation", - "src": "127:496:1", - "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." - }, - "fullyImplemented": true, - "id": 177, - "linearizedBaseContracts": [ - 177 - ], - "name": "Context", - "nameLocation": "642:7:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 158, - "nodeType": "Block", - "src": "718:34:1", - "statements": [ - { - "expression": { - "expression": { - "id": 155, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "735:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "739:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "735:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 154, - "id": 157, - "nodeType": "Return", - "src": "728:17:1" - } - ] - }, - "id": 159, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nameLocation": "665:10:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 151, - "nodeType": "ParameterList", - "parameters": [], - "src": "675:2:1" - }, - "returnParameters": { - "id": 154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 153, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 159, - "src": "709:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 152, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "709:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "708:9:1" - }, - "scope": 177, - "src": "656:96:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 167, - "nodeType": "Block", - "src": "825:32:1", - "statements": [ - { - "expression": { - "expression": { - "id": 164, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "842:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "846:4:1", - "memberName": "data", - "nodeType": "MemberAccess", - "src": "842:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 163, - "id": 166, - "nodeType": "Return", - "src": "835:15:1" - } - ] - }, - "id": 168, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nameLocation": "767:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 160, - "nodeType": "ParameterList", - "parameters": [], - "src": "775:2:1" - }, - "returnParameters": { - "id": 163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 162, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 168, - "src": "809:14:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 161, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "809:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "808:16:1" - }, - "scope": 177, - "src": "758:99:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 175, - "nodeType": "Block", - "src": "935:25:1", - "statements": [ - { - "expression": { - "hexValue": "30", - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "952:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 172, - "id": 174, - "nodeType": "Return", - "src": "945:8:1" - } - ] - }, - "id": 176, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contextSuffixLength", - "nameLocation": "872:20:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 169, - "nodeType": "ParameterList", - "parameters": [], - "src": "892:2:1" - }, - "returnParameters": { - "id": 172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 171, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 176, - "src": "926:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "926:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "925:9:1" - }, - "scope": 177, - "src": "863:97:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 178, - "src": "624:338:1", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "101:862:1" - }, - "id": 1 - }, - "@openzeppelin/contracts/utils/Strings.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "exportedSymbols": { - "Math": [ - 1486 - ], - "SignedMath": [ - 1591 - ], - "Strings": [ - 432 - ] - }, - "id": 433, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 179, - "literals": [ - "solidity", - "^", - "0.8", - ".20" - ], - "nodeType": "PragmaDirective", - "src": "101:24:2" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", - "file": "./math/Math.sol", - "id": 181, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 433, - "sourceUnit": 1487, - "src": "127:37:2", - "symbolAliases": [ - { - "foreign": { - "id": 180, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1486, - "src": "135:4:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", - "file": "./math/SignedMath.sol", - "id": 183, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 433, - "sourceUnit": 1592, - "src": "165:49:2", - "symbolAliases": [ - { - "foreign": { - "id": 182, - "name": "SignedMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1591, - "src": "173:10:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Strings", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 184, - "nodeType": "StructuredDocumentation", - "src": "216:34:2", - "text": " @dev String operations." - }, - "fullyImplemented": true, - "id": 432, - "linearizedBaseContracts": [ - 432 - ], - "name": "Strings", - "nameLocation": "259:7:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 187, - "mutability": "constant", - "name": "HEX_DIGITS", - "nameLocation": "298:10:2", - "nodeType": "VariableDeclaration", - "scope": 432, - "src": "273:56:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 185, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "273:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": { - "hexValue": "30313233343536373839616263646566", - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "311:18:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", - "typeString": "literal_string \"0123456789abcdef\"" - }, - "value": "0123456789abcdef" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 190, - "mutability": "constant", - "name": "ADDRESS_LENGTH", - "nameLocation": "358:14:2", - "nodeType": "VariableDeclaration", - "scope": 432, - "src": "335:42:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 188, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "335:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "hexValue": "3230", - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "375:2:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "private" - }, - { - "documentation": { - "id": 191, - "nodeType": "StructuredDocumentation", - "src": "384:81:2", - "text": " @dev The `value` string doesn't fit in the specified `length`." - }, - "errorSelector": "e22e27eb", - "id": 197, - "name": "StringsInsufficientHexLength", - "nameLocation": "476:28:2", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 193, - "mutability": "mutable", - "name": "value", - "nameLocation": "513:5:2", - "nodeType": "VariableDeclaration", - "scope": 197, - "src": "505:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "505:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 195, - "mutability": "mutable", - "name": "length", - "nameLocation": "528:6:2", - "nodeType": "VariableDeclaration", - "scope": 197, - "src": "520:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "504:31:2" - }, - "src": "470:66:2" - }, - { - "body": { - "id": 244, - "nodeType": "Block", - "src": "708:627:2", - "statements": [ - { - "id": 243, - "nodeType": "UncheckedBlock", - "src": "718:611:2", - "statements": [ - { - "assignments": [ - 206 - ], - "declarations": [ - { - "constant": false, - "id": 206, - "mutability": "mutable", - "name": "length", - "nameLocation": "750:6:2", - "nodeType": "VariableDeclaration", - "scope": 243, - "src": "742:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "742:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 213, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 209, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "770:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 207, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1486, - "src": "759:4:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$1486_$", - "typeString": "type(library Math)" - } - }, - "id": 208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "764:5:2", - "memberName": "log10", - "nodeType": "MemberAccess", - "referencedDeclaration": 1306, - "src": "759:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "759:17:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "759:21:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "742:38:2" - }, - { - "assignments": [ - 215 - ], - "declarations": [ - { - "constant": false, - "id": 215, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "808:6:2", - "nodeType": "VariableDeclaration", - "scope": 243, - "src": "794:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 214, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "794:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 220, - "initialValue": { - "arguments": [ - { - "id": 218, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 206, - "src": "828:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "817:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - }, - "typeName": { - "id": 216, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "821:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "817:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "794:41:2" - }, - { - "assignments": [ - 222 - ], - "declarations": [ - { - "constant": false, - "id": 222, - "mutability": "mutable", - "name": "ptr", - "nameLocation": "857:3:2", - "nodeType": "VariableDeclaration", - "scope": 243, - "src": "849:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 223, - "nodeType": "VariableDeclarationStatement", - "src": "849:11:2" - }, - { - "AST": { - "nativeSrc": "930:67:2", - "nodeType": "YulBlock", - "src": "930:67:2", - "statements": [ - { - "nativeSrc": "948:35:2", - "nodeType": "YulAssignment", - "src": "948:35:2", - "value": { - "arguments": [ - { - "name": "buffer", - "nativeSrc": "959:6:2", - "nodeType": "YulIdentifier", - "src": "959:6:2" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "971:2:2", - "nodeType": "YulLiteral", - "src": "971:2:2", - "type": "", - "value": "32" - }, - { - "name": "length", - "nativeSrc": "975:6:2", - "nodeType": "YulIdentifier", - "src": "975:6:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "967:3:2", - "nodeType": "YulIdentifier", - "src": "967:3:2" - }, - "nativeSrc": "967:15:2", - "nodeType": "YulFunctionCall", - "src": "967:15:2" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "955:3:2", - "nodeType": "YulIdentifier", - "src": "955:3:2" - }, - "nativeSrc": "955:28:2", - "nodeType": "YulFunctionCall", - "src": "955:28:2" - }, - "variableNames": [ - { - "name": "ptr", - "nativeSrc": "948:3:2", - "nodeType": "YulIdentifier", - "src": "948:3:2" - } - ] - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "cancun", - "externalReferences": [ - { - "declaration": 215, - "isOffset": false, - "isSlot": false, - "src": "959:6:2", - "valueSize": 1 - }, - { - "declaration": 206, - "isOffset": false, - "isSlot": false, - "src": "975:6:2", - "valueSize": 1 - }, - { - "declaration": 222, - "isOffset": false, - "isSlot": false, - "src": "948:3:2", - "valueSize": 1 - } - ], - "id": 224, - "nodeType": "InlineAssembly", - "src": "921:76:2" - }, - { - "body": { - "id": 239, - "nodeType": "Block", - "src": "1023:269:2", - "statements": [ - { - "expression": { - "id": 227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "1041:5:2", - "subExpression": { - "id": 226, - "name": "ptr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "1041:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 228, - "nodeType": "ExpressionStatement", - "src": "1041:5:2" - }, - { - "AST": { - "nativeSrc": "1124:86:2", - "nodeType": "YulBlock", - "src": "1124:86:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "ptr", - "nativeSrc": "1154:3:2", - "nodeType": "YulIdentifier", - "src": "1154:3:2" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "1168:5:2", - "nodeType": "YulIdentifier", - "src": "1168:5:2" - }, - { - "kind": "number", - "nativeSrc": "1175:2:2", - "nodeType": "YulLiteral", - "src": "1175:2:2", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "mod", - "nativeSrc": "1164:3:2", - "nodeType": "YulIdentifier", - "src": "1164:3:2" - }, - "nativeSrc": "1164:14:2", - "nodeType": "YulFunctionCall", - "src": "1164:14:2" - }, - { - "name": "HEX_DIGITS", - "nativeSrc": "1180:10:2", - "nodeType": "YulIdentifier", - "src": "1180:10:2" - } - ], - "functionName": { - "name": "byte", - "nativeSrc": "1159:4:2", - "nodeType": "YulIdentifier", - "src": "1159:4:2" - }, - "nativeSrc": "1159:32:2", - "nodeType": "YulFunctionCall", - "src": "1159:32:2" - } - ], - "functionName": { - "name": "mstore8", - "nativeSrc": "1146:7:2", - "nodeType": "YulIdentifier", - "src": "1146:7:2" - }, - "nativeSrc": "1146:46:2", - "nodeType": "YulFunctionCall", - "src": "1146:46:2" - }, - "nativeSrc": "1146:46:2", - "nodeType": "YulExpressionStatement", - "src": "1146:46:2" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "cancun", - "externalReferences": [ - { - "declaration": 187, - "isOffset": false, - "isSlot": false, - "src": "1180:10:2", - "valueSize": 1 - }, - { - "declaration": 222, - "isOffset": false, - "isSlot": false, - "src": "1154:3:2", - "valueSize": 1 - }, - { - "declaration": 200, - "isOffset": false, - "isSlot": false, - "src": "1168:5:2", - "valueSize": 1 - } - ], - "id": 229, - "nodeType": "InlineAssembly", - "src": "1115:95:2" - }, - { - "expression": { - "id": 232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 230, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "1227:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "hexValue": "3130", - "id": 231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1236:2:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "1227:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 233, - "nodeType": "ExpressionStatement", - "src": "1227:11:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 234, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "1260:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1269:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1260:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 238, - "nodeType": "IfStatement", - "src": "1256:21:2", - "trueBody": { - "id": 237, - "nodeType": "Break", - "src": "1272:5:2" - } - } - ] - }, - "condition": { - "hexValue": "74727565", - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1017:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "id": 240, - "nodeType": "WhileStatement", - "src": "1010:282:2" - }, - { - "expression": { - "id": 241, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 215, - "src": "1312:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 204, - "id": 242, - "nodeType": "Return", - "src": "1305:13:2" - } - ] - } - ] - }, - "documentation": { - "id": 198, - "nodeType": "StructuredDocumentation", - "src": "542:90:2", - "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." - }, - "id": 245, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nameLocation": "646:8:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "value", - "nameLocation": "663:5:2", - "nodeType": "VariableDeclaration", - "scope": 245, - "src": "655:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "655:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "654:15:2" - }, - "returnParameters": { - "id": 204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 203, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 245, - "src": "693:13:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 202, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "693:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "692:15:2" - }, - "scope": 432, - "src": "637:698:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 270, - "nodeType": "Block", - "src": "1511:92:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 256, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "1542:5:2", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "30", - "id": 257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1550:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1542:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "", - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1560:2:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1542:20:2", - "trueExpression": { - "hexValue": "2d", - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1554:3:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561", - "typeString": "literal_string \"-\"" - }, - "value": "-" - }, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 265, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "1588:5:2", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "expression": { - "id": 263, - "name": "SignedMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1591, - "src": "1573:10:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SignedMath_$1591_$", - "typeString": "type(library SignedMath)" - } - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1584:3:2", - "memberName": "abs", - "nodeType": "MemberAccess", - "referencedDeclaration": 1590, - "src": "1573:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", - "typeString": "function (int256) pure returns (uint256)" - } - }, - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1573:21:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 262, - "name": "toString", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 245, - "src": "1564:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1564:31:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1528:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 253, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1528:6:2", - "typeDescriptions": {} - } - }, - "id": 255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1535:6:2", - "memberName": "concat", - "nodeType": "MemberAccess", - "src": "1528:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", - "typeString": "function () pure returns (string memory)" - } - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1528:68:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 252, - "id": 269, - "nodeType": "Return", - "src": "1521:75:2" - } - ] - }, - "documentation": { - "id": 246, - "nodeType": "StructuredDocumentation", - "src": "1341:89:2", - "text": " @dev Converts a `int256` to its ASCII `string` decimal representation." - }, - "id": 271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toStringSigned", - "nameLocation": "1444:14:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 248, - "mutability": "mutable", - "name": "value", - "nameLocation": "1466:5:2", - "nodeType": "VariableDeclaration", - "scope": 271, - "src": "1459:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 247, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1459:6:2", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "1458:14:2" - }, - "returnParameters": { - "id": 252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 251, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 271, - "src": "1496:13:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 250, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1496:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1495:15:2" - }, - "scope": 432, - "src": "1435:168:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 290, - "nodeType": "Block", - "src": "1782:100:2", - "statements": [ - { - "id": 289, - "nodeType": "UncheckedBlock", - "src": "1792:84:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 280, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 274, - "src": "1835:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 283, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 274, - "src": "1854:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 281, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1486, - "src": "1842:4:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$1486_$", - "typeString": "type(library Math)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1847:6:2", - "memberName": "log256", - "nodeType": "MemberAccess", - "referencedDeclaration": 1428, - "src": "1842:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1842:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1863:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1842:22:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 279, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 291, - 374, - 394 - ], - "referencedDeclaration": 374, - "src": "1823:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1823:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 278, - "id": 288, - "nodeType": "Return", - "src": "1816:49:2" - } - ] - } - ] - }, - "documentation": { - "id": 272, - "nodeType": "StructuredDocumentation", - "src": "1609:94:2", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." - }, - "id": 291, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1717:11:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 275, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 274, - "mutability": "mutable", - "name": "value", - "nameLocation": "1737:5:2", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1729:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1729:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1728:15:2" - }, - "returnParameters": { - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1767:13:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 276, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1767:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1766:15:2" - }, - "scope": 432, - "src": "1708:174:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 373, - "nodeType": "Block", - "src": "2095:435:2", - "statements": [ - { - "assignments": [ - 302 - ], - "declarations": [ - { - "constant": false, - "id": 302, - "mutability": "mutable", - "name": "localValue", - "nameLocation": "2113:10:2", - "nodeType": "VariableDeclaration", - "scope": 373, - "src": "2105:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2105:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 304, - "initialValue": { - "id": 303, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "2126:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2105:26:2" - }, - { - "assignments": [ - 306 - ], - "declarations": [ - { - "constant": false, - "id": 306, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "2154:6:2", - "nodeType": "VariableDeclaration", - "scope": 373, - "src": "2141:19:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 305, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2141:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 315, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2173:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 310, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "2177:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2173:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2186:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "2173:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2163:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 307, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2167:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2163:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2141:47:2" - }, - { - "expression": { - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 316, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "2198:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 318, - "indexExpression": { - "hexValue": "30", - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2205:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2198:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2210:3:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "src": "2198:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "2198:15:2" - }, - { - "expression": { - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 322, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "2223:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 324, - "indexExpression": { - "hexValue": "31", - "id": 323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2230:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2223:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "78", - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2235:3:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", - "typeString": "literal_string \"x\"" - }, - "value": "x" - }, - "src": "2223:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 327, - "nodeType": "ExpressionStatement", - "src": "2223:15:2" - }, - { - "body": { - "id": 356, - "nodeType": "Block", - "src": "2293:95:2", - "statements": [ - { - "expression": { - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 342, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "2307:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 344, - "indexExpression": { - "id": 343, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "2314:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2307:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 345, - "name": "HEX_DIGITS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 187, - "src": "2319:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "id": 349, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 346, - "name": "localValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 302, - "src": "2330:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "307866", - "id": 347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2343:3:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "0xf" - }, - "src": "2330:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2319:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "2307:40:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 351, - "nodeType": "ExpressionStatement", - "src": "2307:40:2" - }, - { - "expression": { - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 352, - "name": "localValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 302, - "src": "2361:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2376:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "2361:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 355, - "nodeType": "ExpressionStatement", - "src": "2361:16:2" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 336, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "2281:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2285:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2281:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 357, - "initializationExpression": { - "assignments": [ - 329 - ], - "declarations": [ - { - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "i", - "nameLocation": "2261:1:2", - "nodeType": "VariableDeclaration", - "scope": 357, - "src": "2253:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 335, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2265:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 331, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "2269:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2265:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2278:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2265:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2253:26:2" - }, - "isSimpleCounterLoop": false, - "loopExpression": { - "expression": { - "id": 340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "2288:3:2", - "subExpression": { - "id": 339, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "2290:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 341, - "nodeType": "ExpressionStatement", - "src": "2288:3:2" - }, - "nodeType": "ForStatement", - "src": "2248:140:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 358, - "name": "localValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 302, - "src": "2401:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2415:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2401:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 367, - "nodeType": "IfStatement", - "src": "2397:96:2", - "trueBody": { - "id": 366, - "nodeType": "Block", - "src": "2418:75:2", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 362, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "2468:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 363, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "2475:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 361, - "name": "StringsInsufficientHexLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 197, - "src": "2439:28:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256,uint256) pure returns (error)" - } - }, - "id": 364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2439:43:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 365, - "nodeType": "RevertStatement", - "src": "2432:50:2" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 370, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 306, - "src": "2516:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2509:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 368, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2509:6:2", - "typeDescriptions": {} - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2509:14:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 300, - "id": 372, - "nodeType": "Return", - "src": "2502:21:2" - } - ] - }, - "documentation": { - "id": 292, - "nodeType": "StructuredDocumentation", - "src": "1888:112:2", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." - }, - "id": 374, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "2014:11:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "value", - "nameLocation": "2034:5:2", - "nodeType": "VariableDeclaration", - "scope": 374, - "src": "2026:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2026:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "length", - "nameLocation": "2049:6:2", - "nodeType": "VariableDeclaration", - "scope": 374, - "src": "2041:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2041:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2025:31:2" - }, - "returnParameters": { - "id": 300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 299, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 374, - "src": "2080:13:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 298, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2080:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2079:15:2" - }, - "scope": 432, - "src": "2005:525:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 393, - "nodeType": "Block", - "src": "2762:75:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 387, - "name": "addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "2807:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2799:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 385, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "2799:7:2", - "typeDescriptions": {} - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2799:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2791:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2791:7:2", - "typeDescriptions": {} - } - }, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2791:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 390, - "name": "ADDRESS_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 190, - "src": "2815:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 382, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 291, - 374, - 394 - ], - "referencedDeclaration": 374, - "src": "2779:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2779:51:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 381, - "id": 392, - "nodeType": "Return", - "src": "2772:58:2" - } - ] - }, - "documentation": { - "id": 375, - "nodeType": "StructuredDocumentation", - "src": "2536:148:2", - "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n representation." - }, - "id": 394, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "2698:11:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 377, - "mutability": "mutable", - "name": "addr", - "nameLocation": "2718:4:2", - "nodeType": "VariableDeclaration", - "scope": 394, - "src": "2710:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2710:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2709:14:2" - }, - "returnParameters": { - "id": 381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 380, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 394, - "src": "2747:13:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 379, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2747:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2746:15:2" - }, - "scope": 432, - "src": "2689:148:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 430, - "nodeType": "Block", - "src": "2992:104:2", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 406, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 397, - "src": "3015:1:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3009:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3009:5:2", - "typeDescriptions": {} - } - }, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3009:8:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3018:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3009:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 411, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 399, - "src": "3034:1:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3028:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 409, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3028:5:2", - "typeDescriptions": {} - } - }, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3028:8:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3037:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3028:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3009:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 418, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 397, - "src": "3063:1:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3057:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 416, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3057:5:2", - "typeDescriptions": {} - } - }, - "id": 419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3057:8:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 415, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "3047:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3047:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 424, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 399, - "src": "3086:1:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3080:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 422, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3080:5:2", - "typeDescriptions": {} - } - }, - "id": 425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3080:8:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 421, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "3070:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3070:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3047:42:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3009:80:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 403, - "id": 429, - "nodeType": "Return", - "src": "3002:87:2" - } - ] - }, - "documentation": { - "id": 395, - "nodeType": "StructuredDocumentation", - "src": "2843:66:2", - "text": " @dev Returns true if the two strings are equal." - }, - "id": 431, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "equal", - "nameLocation": "2923:5:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 397, - "mutability": "mutable", - "name": "a", - "nameLocation": "2943:1:2", - "nodeType": "VariableDeclaration", - "scope": 431, - "src": "2929:15:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 396, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2929:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 399, - "mutability": "mutable", - "name": "b", - "nameLocation": "2960:1:2", - "nodeType": "VariableDeclaration", - "scope": 431, - "src": "2946:15:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 398, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2946:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2928:34:2" - }, - "returnParameters": { - "id": 403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 402, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 431, - "src": "2986:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 401, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2986:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2985:6:2" - }, - "scope": 432, - "src": "2914:182:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 433, - "src": "251:2847:2", - "usedErrors": [ - 197 - ], - "usedEvents": [] - } - ], - "src": "101:2998:2" - }, - "id": 2 - }, - "@openzeppelin/contracts/utils/math/Math.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", - "exportedSymbols": { - "Math": [ - 1486 - ] - }, - "id": 1487, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 434, - "literals": [ - "solidity", - "^", - "0.8", - ".20" - ], - "nodeType": "PragmaDirective", - "src": "103:24:3" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Math", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 435, - "nodeType": "StructuredDocumentation", - "src": "129:73:3", - "text": " @dev Standard math utilities missing in the Solidity language." - }, - "fullyImplemented": true, - "id": 1486, - "linearizedBaseContracts": [ - 1486 - ], - "name": "Math", - "nameLocation": "211:4:3", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 436, - "nodeType": "StructuredDocumentation", - "src": "222:50:3", - "text": " @dev Muldiv operation overflow." - }, - "errorSelector": "227bc153", - "id": 438, - "name": "MathOverflowedMulDiv", - "nameLocation": "283:20:3", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 437, - "nodeType": "ParameterList", - "parameters": [], - "src": "303:2:3" - }, - "src": "277:29:3" - }, - { - "canonicalName": "Math.Rounding", - "id": 443, - "members": [ - { - "id": 439, - "name": "Floor", - "nameLocation": "336:5:3", - "nodeType": "EnumValue", - "src": "336:5:3" - }, - { - "id": 440, - "name": "Ceil", - "nameLocation": "379:4:3", - "nodeType": "EnumValue", - "src": "379:4:3" - }, - { - "id": 441, - "name": "Trunc", - "nameLocation": "421:5:3", - "nodeType": "EnumValue", - "src": "421:5:3" - }, - { - "id": 442, - "name": "Expand", - "nameLocation": "451:6:3", - "nodeType": "EnumValue", - "src": "451:6:3" - } - ], - "name": "Rounding", - "nameLocation": "317:8:3", - "nodeType": "EnumDefinition", - "src": "312:169:3" - }, - { - "body": { - "id": 474, - "nodeType": "Block", - "src": "661:140:3", - "statements": [ - { - "id": 473, - "nodeType": "UncheckedBlock", - "src": "671:124:3", - "statements": [ - { - "assignments": [ - 456 - ], - "declarations": [ - { - "constant": false, - "id": 456, - "mutability": "mutable", - "name": "c", - "nameLocation": "703:1:3", - "nodeType": "VariableDeclaration", - "scope": 473, - "src": "695:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "695:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 460, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 457, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "707:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 458, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "711:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "707:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "695:17:3" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 461, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 456, - "src": "730:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 462, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "734:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "730:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 468, - "nodeType": "IfStatement", - "src": "726:28:3", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "745:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "752:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 466, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "744:10:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 454, - "id": 467, - "nodeType": "Return", - "src": "737:17:3" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "776:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "id": 470, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 456, - "src": "782:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 471, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "775:9:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 454, - "id": 472, - "nodeType": "Return", - "src": "768:16:3" - } - ] - } - ] - }, - "documentation": { - "id": 444, - "nodeType": "StructuredDocumentation", - "src": "487:93:3", - "text": " @dev Returns the addition of two unsigned integers, with an overflow flag." - }, - "id": 475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryAdd", - "nameLocation": "594:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 446, - "mutability": "mutable", - "name": "a", - "nameLocation": "609:1:3", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "601:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "601:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 448, - "mutability": "mutable", - "name": "b", - "nameLocation": "620:1:3", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "612:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "612:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "600:22:3" - }, - "returnParameters": { - "id": 454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 451, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "646:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 450, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "646:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 453, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 475, - "src": "652:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "652:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "645:15:3" - }, - "scope": 1486, - "src": "585:216:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 502, - "nodeType": "Block", - "src": "984:113:3", - "statements": [ - { - "id": 501, - "nodeType": "UncheckedBlock", - "src": "994:97:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 487, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 480, - "src": "1022:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 488, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "1026:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1022:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 494, - "nodeType": "IfStatement", - "src": "1018:28:3", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1037:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1044:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 492, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1036:10:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 486, - "id": 493, - "nodeType": "Return", - "src": "1029:17:3" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1068:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 496, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 478, - "src": "1074:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 497, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 480, - "src": "1078:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1074:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 499, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1067:13:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 486, - "id": 500, - "nodeType": "Return", - "src": "1060:20:3" - } - ] - } - ] - }, - "documentation": { - "id": 476, - "nodeType": "StructuredDocumentation", - "src": "807:96:3", - "text": " @dev Returns the subtraction of two unsigned integers, with an overflow flag." - }, - "id": 503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "trySub", - "nameLocation": "917:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 478, - "mutability": "mutable", - "name": "a", - "nameLocation": "932:1:3", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "924:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "924:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 480, - "mutability": "mutable", - "name": "b", - "nameLocation": "943:1:3", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "935:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "935:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "923:22:3" - }, - "returnParameters": { - "id": 486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 483, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "969:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 482, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "969:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 485, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 503, - "src": "975:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 484, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "975:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "968:15:3" - }, - "scope": 1486, - "src": "908:189:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 544, - "nodeType": "Block", - "src": "1283:417:3", - "statements": [ - { - "id": 543, - "nodeType": "UncheckedBlock", - "src": "1293:401:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 515, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1551:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1556:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1551:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 522, - "nodeType": "IfStatement", - "src": "1547:28:3", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1567:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "hexValue": "30", - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1573:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 520, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1566:9:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 514, - "id": 521, - "nodeType": "Return", - "src": "1559:16:3" - } - }, - { - "assignments": [ - 524 - ], - "declarations": [ - { - "constant": false, - "id": 524, - "mutability": "mutable", - "name": "c", - "nameLocation": "1597:1:3", - "nodeType": "VariableDeclaration", - "scope": 543, - "src": "1589:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1589:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 528, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 525, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1601:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 526, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1605:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1601:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1589:17:3" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 529, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "1624:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 530, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1628:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1624:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 532, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1633:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1624:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "IfStatement", - "src": "1620:33:3", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1644:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1651:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 536, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1643:10:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 514, - "id": 537, - "nodeType": "Return", - "src": "1636:17:3" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1675:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "id": 540, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "1681:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 541, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1674:9:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 514, - "id": 542, - "nodeType": "Return", - "src": "1667:16:3" - } - ] - } - ] - }, - "documentation": { - "id": 504, - "nodeType": "StructuredDocumentation", - "src": "1103:99:3", - "text": " @dev Returns the multiplication of two unsigned integers, with an overflow flag." - }, - "id": 545, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMul", - "nameLocation": "1216:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 506, - "mutability": "mutable", - "name": "a", - "nameLocation": "1231:1:3", - "nodeType": "VariableDeclaration", - "scope": 545, - "src": "1223:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1223:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 508, - "mutability": "mutable", - "name": "b", - "nameLocation": "1242:1:3", - "nodeType": "VariableDeclaration", - "scope": 545, - "src": "1234:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1234:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1222:22:3" - }, - "returnParameters": { - "id": 514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 511, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 545, - "src": "1268:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 510, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1268:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 513, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 545, - "src": "1274:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1267:15:3" - }, - "scope": 1486, - "src": "1207:493:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 572, - "nodeType": "Block", - "src": "1887:114:3", - "statements": [ - { - "id": 571, - "nodeType": "UncheckedBlock", - "src": "1897:98:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 557, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "1925:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1930:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1925:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 564, - "nodeType": "IfStatement", - "src": "1921:29:3", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1941:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1948:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 562, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1940:10:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 556, - "id": 563, - "nodeType": "Return", - "src": "1933:17:3" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1972:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 566, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "1978:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 567, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "1982:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1978:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 569, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1971:13:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 556, - "id": 570, - "nodeType": "Return", - "src": "1964:20:3" - } - ] - } - ] - }, - "documentation": { - "id": 546, - "nodeType": "StructuredDocumentation", - "src": "1706:100:3", - "text": " @dev Returns the division of two unsigned integers, with a division by zero flag." - }, - "id": 573, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryDiv", - "nameLocation": "1820:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "a", - "nameLocation": "1835:1:3", - "nodeType": "VariableDeclaration", - "scope": 573, - "src": "1827:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 550, - "mutability": "mutable", - "name": "b", - "nameLocation": "1846:1:3", - "nodeType": "VariableDeclaration", - "scope": 573, - "src": "1838:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1838:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1826:22:3" - }, - "returnParameters": { - "id": 556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 553, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 573, - "src": "1872:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 552, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1872:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 555, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 573, - "src": "1878:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1878:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1871:15:3" - }, - "scope": 1486, - "src": "1811:190:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 600, - "nodeType": "Block", - "src": "2198:114:3", - "statements": [ - { - "id": 599, - "nodeType": "UncheckedBlock", - "src": "2208:98:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 585, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "2236:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2241:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2236:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 592, - "nodeType": "IfStatement", - "src": "2232:29:3", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2252:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2259:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 590, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2251:10:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 584, - "id": 591, - "nodeType": "Return", - "src": "2244:17:3" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2283:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 594, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "2289:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 595, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "2293:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2289:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 597, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2282:13:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 584, - "id": 598, - "nodeType": "Return", - "src": "2275:20:3" - } - ] - } - ] - }, - "documentation": { - "id": 574, - "nodeType": "StructuredDocumentation", - "src": "2007:110:3", - "text": " @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag." - }, - "id": 601, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMod", - "nameLocation": "2131:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 576, - "mutability": "mutable", - "name": "a", - "nameLocation": "2146:1:3", - "nodeType": "VariableDeclaration", - "scope": 601, - "src": "2138:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2138:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 578, - "mutability": "mutable", - "name": "b", - "nameLocation": "2157:1:3", - "nodeType": "VariableDeclaration", - "scope": 601, - "src": "2149:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2137:22:3" - }, - "returnParameters": { - "id": 584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 581, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 601, - "src": "2183:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 580, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2183:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 583, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 601, - "src": "2189:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2189:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2182:15:3" - }, - "scope": 1486, - "src": "2122:190:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 618, - "nodeType": "Block", - "src": "2449:37:3", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 611, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "2466:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 612, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "2470:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2466:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 615, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "2478:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "2466:13:3", - "trueExpression": { - "id": 614, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "2474:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 610, - "id": 617, - "nodeType": "Return", - "src": "2459:20:3" - } - ] - }, - "documentation": { - "id": 602, - "nodeType": "StructuredDocumentation", - "src": "2318:59:3", - "text": " @dev Returns the largest of two numbers." - }, - "id": 619, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "max", - "nameLocation": "2391:3:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 604, - "mutability": "mutable", - "name": "a", - "nameLocation": "2403:1:3", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "2395:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2395:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 606, - "mutability": "mutable", - "name": "b", - "nameLocation": "2414:1:3", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "2406:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2406:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2394:22:3" - }, - "returnParameters": { - "id": 610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 609, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 619, - "src": "2440:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2440:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2439:9:3" - }, - "scope": 1486, - "src": "2382:104:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 636, - "nodeType": "Block", - "src": "2624:37:3", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 629, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 622, - "src": "2641:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 630, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 624, - "src": "2645:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2641:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 633, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 624, - "src": "2653:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "2641:13:3", - "trueExpression": { - "id": 632, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 622, - "src": "2649:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 628, - "id": 635, - "nodeType": "Return", - "src": "2634:20:3" - } - ] - }, - "documentation": { - "id": 620, - "nodeType": "StructuredDocumentation", - "src": "2492:60:3", - "text": " @dev Returns the smallest of two numbers." - }, - "id": 637, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nameLocation": "2566:3:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 625, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 622, - "mutability": "mutable", - "name": "a", - "nameLocation": "2578:1:3", - "nodeType": "VariableDeclaration", - "scope": 637, - "src": "2570:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2570:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 624, - "mutability": "mutable", - "name": "b", - "nameLocation": "2589:1:3", - "nodeType": "VariableDeclaration", - "scope": 637, - "src": "2581:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2581:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2569:22:3" - }, - "returnParameters": { - "id": 628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 627, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 637, - "src": "2615:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 626, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2615:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2614:9:3" - }, - "scope": 1486, - "src": "2557:104:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 659, - "nodeType": "Block", - "src": "2845:82:3", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 647, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "2900:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "id": 648, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "2904:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2900:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 650, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2899:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 651, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "2910:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "id": 652, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "2914:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2910:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 654, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2909:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "32", - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2919:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "2909:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2899:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 646, - "id": 658, - "nodeType": "Return", - "src": "2892:28:3" - } - ] - }, - "documentation": { - "id": 638, - "nodeType": "StructuredDocumentation", - "src": "2667:102:3", - "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." - }, - "id": 660, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "average", - "nameLocation": "2783:7:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 643, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 640, - "mutability": "mutable", - "name": "a", - "nameLocation": "2799:1:3", - "nodeType": "VariableDeclaration", - "scope": 660, - "src": "2791:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 639, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2791:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 642, - "mutability": "mutable", - "name": "b", - "nameLocation": "2810:1:3", - "nodeType": "VariableDeclaration", - "scope": 660, - "src": "2802:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2802:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2790:22:3" - }, - "returnParameters": { - "id": 646, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 645, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 660, - "src": "2836:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2836:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2835:9:3" - }, - "scope": 1486, - "src": "2774:153:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 693, - "nodeType": "Block", - "src": "3219:260:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 670, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "3233:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3238:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3233:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 678, - "nodeType": "IfStatement", - "src": "3229:127:3", - "trueBody": { - "id": 677, - "nodeType": "Block", - "src": "3241:115:3", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 673, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "3340:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 674, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "3344:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3340:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 669, - "id": 676, - "nodeType": "Return", - "src": "3333:12:3" - } - ] - } - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 679, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "3444:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3449:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3444:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 683, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "3458:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 684, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3462:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3458:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 686, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3457:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 687, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "3467:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3457:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3471:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3457:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3444:28:3", - "trueExpression": { - "hexValue": "30", - "id": 682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3453:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 669, - "id": 692, - "nodeType": "Return", - "src": "3437:35:3" - } - ] - }, - "documentation": { - "id": 661, - "nodeType": "StructuredDocumentation", - "src": "2933:210:3", - "text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds towards infinity instead\n of rounding towards zero." - }, - "id": 694, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ceilDiv", - "nameLocation": "3157:7:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 663, - "mutability": "mutable", - "name": "a", - "nameLocation": "3173:1:3", - "nodeType": "VariableDeclaration", - "scope": 694, - "src": "3165:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3165:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 665, - "mutability": "mutable", - "name": "b", - "nameLocation": "3184:1:3", - "nodeType": "VariableDeclaration", - "scope": 694, - "src": "3176:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 664, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3176:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3164:22:3" - }, - "returnParameters": { - "id": 669, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 668, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 694, - "src": "3210:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3210:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3209:9:3" - }, - "scope": 1486, - "src": "3148:331:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 819, - "nodeType": "Block", - "src": "3901:4018:3", - "statements": [ - { - "id": 818, - "nodeType": "UncheckedBlock", - "src": "3911:4002:3", - "statements": [ - { - "assignments": [ - 707 - ], - "declarations": [ - { - "constant": false, - "id": 707, - "mutability": "mutable", - "name": "prod0", - "nameLocation": "4240:5:3", - "nodeType": "VariableDeclaration", - "scope": 818, - "src": "4232:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4232:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 711, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 708, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 697, - "src": "4248:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 709, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 699, - "src": "4252:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4248:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4232:21:3" - }, - { - "assignments": [ - 713 - ], - "declarations": [ - { - "constant": false, - "id": 713, - "mutability": "mutable", - "name": "prod1", - "nameLocation": "4320:5:3", - "nodeType": "VariableDeclaration", - "scope": 818, - "src": "4312:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4312:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 714, - "nodeType": "VariableDeclarationStatement", - "src": "4312:13:3" - }, - { - "AST": { - "nativeSrc": "4392:122:3", - "nodeType": "YulBlock", - "src": "4392:122:3", - "statements": [ - { - "nativeSrc": "4410:30:3", - "nodeType": "YulVariableDeclaration", - "src": "4410:30:3", - "value": { - "arguments": [ - { - "name": "x", - "nativeSrc": "4427:1:3", - "nodeType": "YulIdentifier", - "src": "4427:1:3" - }, - { - "name": "y", - "nativeSrc": "4430:1:3", - "nodeType": "YulIdentifier", - "src": "4430:1:3" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4437:1:3", - "nodeType": "YulLiteral", - "src": "4437:1:3", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "4433:3:3", - "nodeType": "YulIdentifier", - "src": "4433:3:3" - }, - "nativeSrc": "4433:6:3", - "nodeType": "YulFunctionCall", - "src": "4433:6:3" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "4420:6:3", - "nodeType": "YulIdentifier", - "src": "4420:6:3" - }, - "nativeSrc": "4420:20:3", - "nodeType": "YulFunctionCall", - "src": "4420:20:3" - }, - "variables": [ - { - "name": "mm", - "nativeSrc": "4414:2:3", - "nodeType": "YulTypedName", - "src": "4414:2:3", - "type": "" - } - ] - }, - { - "nativeSrc": "4457:43:3", - "nodeType": "YulAssignment", - "src": "4457:43:3", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "mm", - "nativeSrc": "4474:2:3", - "nodeType": "YulIdentifier", - "src": "4474:2:3" - }, - { - "name": "prod0", - "nativeSrc": "4478:5:3", - "nodeType": "YulIdentifier", - "src": "4478:5:3" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "4470:3:3", - "nodeType": "YulIdentifier", - "src": "4470:3:3" - }, - "nativeSrc": "4470:14:3", - "nodeType": "YulFunctionCall", - "src": "4470:14:3" - }, - { - "arguments": [ - { - "name": "mm", - "nativeSrc": "4489:2:3", - "nodeType": "YulIdentifier", - "src": "4489:2:3" - }, - { - "name": "prod0", - "nativeSrc": "4493:5:3", - "nodeType": "YulIdentifier", - "src": "4493:5:3" - } - ], - "functionName": { - "name": "lt", - "nativeSrc": "4486:2:3", - "nodeType": "YulIdentifier", - "src": "4486:2:3" - }, - "nativeSrc": "4486:13:3", - "nodeType": "YulFunctionCall", - "src": "4486:13:3" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "4466:3:3", - "nodeType": "YulIdentifier", - "src": "4466:3:3" - }, - "nativeSrc": "4466:34:3", - "nodeType": "YulFunctionCall", - "src": "4466:34:3" - }, - "variableNames": [ - { - "name": "prod1", - "nativeSrc": "4457:5:3", - "nodeType": "YulIdentifier", - "src": "4457:5:3" - } - ] - } - ] - }, - "evmVersion": "cancun", - "externalReferences": [ - { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "4478:5:3", - "valueSize": 1 - }, - { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "4493:5:3", - "valueSize": 1 - }, - { - "declaration": 713, - "isOffset": false, - "isSlot": false, - "src": "4457:5:3", - "valueSize": 1 - }, - { - "declaration": 697, - "isOffset": false, - "isSlot": false, - "src": "4427:1:3", - "valueSize": 1 - }, - { - "declaration": 699, - "isOffset": false, - "isSlot": false, - "src": "4430:1:3", - "valueSize": 1 - } - ], - "id": 715, - "nodeType": "InlineAssembly", - "src": "4383:131:3" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 716, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "4595:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4604:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4595:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 724, - "nodeType": "IfStatement", - "src": "4591:368:3", - "trueBody": { - "id": 723, - "nodeType": "Block", - "src": "4607:352:3", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 719, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "4925:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 720, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "4933:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4925:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 705, - "id": 722, - "nodeType": "Return", - "src": "4918:26:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 725, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "5065:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 726, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "5080:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5065:20:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 732, - "nodeType": "IfStatement", - "src": "5061:88:3", - "trueBody": { - "id": 731, - "nodeType": "Block", - "src": "5087:62:3", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 728, - "name": "MathOverflowedMulDiv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 438, - "src": "5112:20:3", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" - } - }, - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5112:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 730, - "nodeType": "RevertStatement", - "src": "5105:29:3" - } - ] - } - }, - { - "assignments": [ - 734 - ], - "declarations": [ - { - "constant": false, - "id": 734, - "mutability": "mutable", - "name": "remainder", - "nameLocation": "5412:9:3", - "nodeType": "VariableDeclaration", - "scope": 818, - "src": "5404:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 735, - "nodeType": "VariableDeclarationStatement", - "src": "5404:17:3" - }, - { - "AST": { - "nativeSrc": "5444:291:3", - "nodeType": "YulBlock", - "src": "5444:291:3", - "statements": [ - { - "nativeSrc": "5513:38:3", - "nodeType": "YulAssignment", - "src": "5513:38:3", - "value": { - "arguments": [ - { - "name": "x", - "nativeSrc": "5533:1:3", - "nodeType": "YulIdentifier", - "src": "5533:1:3" - }, - { - "name": "y", - "nativeSrc": "5536:1:3", - "nodeType": "YulIdentifier", - "src": "5536:1:3" - }, - { - "name": "denominator", - "nativeSrc": "5539:11:3", - "nodeType": "YulIdentifier", - "src": "5539:11:3" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "5526:6:3", - "nodeType": "YulIdentifier", - "src": "5526:6:3" - }, - "nativeSrc": "5526:25:3", - "nodeType": "YulFunctionCall", - "src": "5526:25:3" - }, - "variableNames": [ - { - "name": "remainder", - "nativeSrc": "5513:9:3", - "nodeType": "YulIdentifier", - "src": "5513:9:3" - } - ] - }, - { - "nativeSrc": "5633:41:3", - "nodeType": "YulAssignment", - "src": "5633:41:3", - "value": { - "arguments": [ - { - "name": "prod1", - "nativeSrc": "5646:5:3", - "nodeType": "YulIdentifier", - "src": "5646:5:3" - }, - { - "arguments": [ - { - "name": "remainder", - "nativeSrc": "5656:9:3", - "nodeType": "YulIdentifier", - "src": "5656:9:3" - }, - { - "name": "prod0", - "nativeSrc": "5667:5:3", - "nodeType": "YulIdentifier", - "src": "5667:5:3" - } - ], - "functionName": { - "name": "gt", - "nativeSrc": "5653:2:3", - "nodeType": "YulIdentifier", - "src": "5653:2:3" - }, - "nativeSrc": "5653:20:3", - "nodeType": "YulFunctionCall", - "src": "5653:20:3" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "5642:3:3", - "nodeType": "YulIdentifier", - "src": "5642:3:3" - }, - "nativeSrc": "5642:32:3", - "nodeType": "YulFunctionCall", - "src": "5642:32:3" - }, - "variableNames": [ - { - "name": "prod1", - "nativeSrc": "5633:5:3", - "nodeType": "YulIdentifier", - "src": "5633:5:3" - } - ] - }, - { - "nativeSrc": "5691:30:3", - "nodeType": "YulAssignment", - "src": "5691:30:3", - "value": { - "arguments": [ - { - "name": "prod0", - "nativeSrc": "5704:5:3", - "nodeType": "YulIdentifier", - "src": "5704:5:3" - }, - { - "name": "remainder", - "nativeSrc": "5711:9:3", - "nodeType": "YulIdentifier", - "src": "5711:9:3" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "5700:3:3", - "nodeType": "YulIdentifier", - "src": "5700:3:3" - }, - "nativeSrc": "5700:21:3", - "nodeType": "YulFunctionCall", - "src": "5700:21:3" - }, - "variableNames": [ - { - "name": "prod0", - "nativeSrc": "5691:5:3", - "nodeType": "YulIdentifier", - "src": "5691:5:3" - } - ] - } - ] - }, - "evmVersion": "cancun", - "externalReferences": [ - { - "declaration": 701, - "isOffset": false, - "isSlot": false, - "src": "5539:11:3", - "valueSize": 1 - }, - { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "5667:5:3", - "valueSize": 1 - }, - { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "5691:5:3", - "valueSize": 1 - }, - { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "5704:5:3", - "valueSize": 1 - }, - { - "declaration": 713, - "isOffset": false, - "isSlot": false, - "src": "5633:5:3", - "valueSize": 1 - }, - { - "declaration": 713, - "isOffset": false, - "isSlot": false, - "src": "5646:5:3", - "valueSize": 1 - }, - { - "declaration": 734, - "isOffset": false, - "isSlot": false, - "src": "5513:9:3", - "valueSize": 1 - }, - { - "declaration": 734, - "isOffset": false, - "isSlot": false, - "src": "5656:9:3", - "valueSize": 1 - }, - { - "declaration": 734, - "isOffset": false, - "isSlot": false, - "src": "5711:9:3", - "valueSize": 1 - }, - { - "declaration": 697, - "isOffset": false, - "isSlot": false, - "src": "5533:1:3", - "valueSize": 1 - }, - { - "declaration": 699, - "isOffset": false, - "isSlot": false, - "src": "5536:1:3", - "valueSize": 1 - } - ], - "id": 736, - "nodeType": "InlineAssembly", - "src": "5435:300:3" - }, - { - "assignments": [ - 738 - ], - "declarations": [ - { - "constant": false, - "id": 738, - "mutability": "mutable", - "name": "twos", - "nameLocation": "5947:4:3", - "nodeType": "VariableDeclaration", - "scope": 818, - "src": "5939:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5939:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 745, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 739, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "5954:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "30", - "id": 740, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5969:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 741, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "5973:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5969:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 743, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5968:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5954:31:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5939:46:3" - }, - { - "AST": { - "nativeSrc": "6008:362:3", - "nodeType": "YulBlock", - "src": "6008:362:3", - "statements": [ - { - "nativeSrc": "6073:37:3", - "nodeType": "YulAssignment", - "src": "6073:37:3", - "value": { - "arguments": [ - { - "name": "denominator", - "nativeSrc": "6092:11:3", - "nodeType": "YulIdentifier", - "src": "6092:11:3" - }, - { - "name": "twos", - "nativeSrc": "6105:4:3", - "nodeType": "YulIdentifier", - "src": "6105:4:3" - } - ], - "functionName": { - "name": "div", - "nativeSrc": "6088:3:3", - "nodeType": "YulIdentifier", - "src": "6088:3:3" - }, - "nativeSrc": "6088:22:3", - "nodeType": "YulFunctionCall", - "src": "6088:22:3" - }, - "variableNames": [ - { - "name": "denominator", - "nativeSrc": "6073:11:3", - "nodeType": "YulIdentifier", - "src": "6073:11:3" - } - ] - }, - { - "nativeSrc": "6177:25:3", - "nodeType": "YulAssignment", - "src": "6177:25:3", - "value": { - "arguments": [ - { - "name": "prod0", - "nativeSrc": "6190:5:3", - "nodeType": "YulIdentifier", - "src": "6190:5:3" - }, - { - "name": "twos", - "nativeSrc": "6197:4:3", - "nodeType": "YulIdentifier", - "src": "6197:4:3" - } - ], - "functionName": { - "name": "div", - "nativeSrc": "6186:3:3", - "nodeType": "YulIdentifier", - "src": "6186:3:3" - }, - "nativeSrc": "6186:16:3", - "nodeType": "YulFunctionCall", - "src": "6186:16:3" - }, - "variableNames": [ - { - "name": "prod0", - "nativeSrc": "6177:5:3", - "nodeType": "YulIdentifier", - "src": "6177:5:3" - } - ] - }, - { - "nativeSrc": "6317:39:3", - "nodeType": "YulAssignment", - "src": "6317:39:3", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "6337:1:3", - "nodeType": "YulLiteral", - "src": "6337:1:3", - "type": "", - "value": "0" - }, - { - "name": "twos", - "nativeSrc": "6340:4:3", - "nodeType": "YulIdentifier", - "src": "6340:4:3" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "6333:3:3", - "nodeType": "YulIdentifier", - "src": "6333:3:3" - }, - "nativeSrc": "6333:12:3", - "nodeType": "YulFunctionCall", - "src": "6333:12:3" - }, - { - "name": "twos", - "nativeSrc": "6347:4:3", - "nodeType": "YulIdentifier", - "src": "6347:4:3" - } - ], - "functionName": { - "name": "div", - "nativeSrc": "6329:3:3", - "nodeType": "YulIdentifier", - "src": "6329:3:3" - }, - "nativeSrc": "6329:23:3", - "nodeType": "YulFunctionCall", - "src": "6329:23:3" - }, - { - "kind": "number", - "nativeSrc": "6354:1:3", - "nodeType": "YulLiteral", - "src": "6354:1:3", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6325:3:3", - "nodeType": "YulIdentifier", - "src": "6325:3:3" - }, - "nativeSrc": "6325:31:3", - "nodeType": "YulFunctionCall", - "src": "6325:31:3" - }, - "variableNames": [ - { - "name": "twos", - "nativeSrc": "6317:4:3", - "nodeType": "YulIdentifier", - "src": "6317:4:3" - } - ] - } - ] - }, - "evmVersion": "cancun", - "externalReferences": [ - { - "declaration": 701, - "isOffset": false, - "isSlot": false, - "src": "6073:11:3", - "valueSize": 1 - }, - { - "declaration": 701, - "isOffset": false, - "isSlot": false, - "src": "6092:11:3", - "valueSize": 1 - }, - { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "6177:5:3", - "valueSize": 1 - }, - { - "declaration": 707, - "isOffset": false, - "isSlot": false, - "src": "6190:5:3", - "valueSize": 1 - }, - { - "declaration": 738, - "isOffset": false, - "isSlot": false, - "src": "6105:4:3", - "valueSize": 1 - }, - { - "declaration": 738, - "isOffset": false, - "isSlot": false, - "src": "6197:4:3", - "valueSize": 1 - }, - { - "declaration": 738, - "isOffset": false, - "isSlot": false, - "src": "6317:4:3", - "valueSize": 1 - }, - { - "declaration": 738, - "isOffset": false, - "isSlot": false, - "src": "6340:4:3", - "valueSize": 1 - }, - { - "declaration": 738, - "isOffset": false, - "isSlot": false, - "src": "6347:4:3", - "valueSize": 1 - } - ], - "id": 746, - "nodeType": "InlineAssembly", - "src": "5999:371:3" - }, - { - "expression": { - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 747, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "6436:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "|=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 748, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "6445:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 749, - "name": "twos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 738, - "src": "6453:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6445:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6436:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 752, - "nodeType": "ExpressionStatement", - "src": "6436:21:3" - }, - { - "assignments": [ - 754 - ], - "declarations": [ - { - "constant": false, - "id": 754, - "mutability": "mutable", - "name": "inverse", - "nameLocation": "6783:7:3", - "nodeType": "VariableDeclaration", - "scope": 818, - "src": "6775:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6775:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 761, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "33", - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6794:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 756, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "6798:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6794:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 758, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6793:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "hexValue": "32", - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6813:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "6793:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6775:39:3" - }, - { - "expression": { - "id": 768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 762, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7031:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7042:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 764, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "7046:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 765, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7060:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7046:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7031:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 769, - "nodeType": "ExpressionStatement", - "src": "7031:36:3" - }, - { - "expression": { - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 770, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7100:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7111:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 772, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "7115:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 773, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7129:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7115:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7111:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7100:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 777, - "nodeType": "ExpressionStatement", - "src": "7100:36:3" - }, - { - "expression": { - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 778, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7170:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7181:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 780, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "7185:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 781, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7199:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7185:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7181:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7170:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 785, - "nodeType": "ExpressionStatement", - "src": "7170:36:3" - }, - { - "expression": { - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 786, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7240:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7251:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 788, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "7255:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 789, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7255:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7251:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7240:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 793, - "nodeType": "ExpressionStatement", - "src": "7240:36:3" - }, - { - "expression": { - "id": 800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 794, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7310:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7321:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 796, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "7325:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 797, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7339:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7325:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7321:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7310:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 801, - "nodeType": "ExpressionStatement", - "src": "7310:36:3" - }, - { - "expression": { - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 802, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7381:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7392:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 804, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "7396:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 805, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7410:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7396:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7392:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7381:36:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 809, - "nodeType": "ExpressionStatement", - "src": "7381:36:3" - }, - { - "expression": { - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 810, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "7851:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 811, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "7860:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 812, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 754, - "src": "7868:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7860:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7851:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 815, - "nodeType": "ExpressionStatement", - "src": "7851:24:3" - }, - { - "expression": { - "id": 816, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 704, - "src": "7896:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 705, - "id": 817, - "nodeType": "Return", - "src": "7889:13:3" - } - ] - } - ] - }, - "documentation": { - "id": 695, - "nodeType": "StructuredDocumentation", - "src": "3485:313:3", - "text": " @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n denominator == 0.\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n Uniswap Labs also under MIT license." - }, - "id": 820, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulDiv", - "nameLocation": "3812:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 697, - "mutability": "mutable", - "name": "x", - "nameLocation": "3827:1:3", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "3819:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3819:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 699, - "mutability": "mutable", - "name": "y", - "nameLocation": "3838:1:3", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "3830:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3830:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 701, - "mutability": "mutable", - "name": "denominator", - "nameLocation": "3849:11:3", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "3841:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3841:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3818:43:3" - }, - "returnParameters": { - "id": 705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 704, - "mutability": "mutable", - "name": "result", - "nameLocation": "3893:6:3", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "3885:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3885:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3884:16:3" - }, - "scope": 1486, - "src": "3803:4116:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 862, - "nodeType": "Block", - "src": "8161:192:3", - "statements": [ - { - "assignments": [ - 836 - ], - "declarations": [ - { - "constant": false, - "id": 836, - "mutability": "mutable", - "name": "result", - "nameLocation": "8179:6:3", - "nodeType": "VariableDeclaration", - "scope": 862, - "src": "8171:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8171:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 842, - "initialValue": { - "arguments": [ - { - "id": 838, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "8195:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 839, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "8198:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 840, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8201:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 837, - "name": "mulDiv", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 820, - 863 - ], - "referencedDeclaration": 820, - "src": "8188:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8188:25:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8171:42:3" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 844, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 830, - "src": "8244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - ], - "id": 843, - "name": "unsignedRoundsUp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1485, - "src": "8227:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", - "typeString": "function (enum Math.Rounding) pure returns (bool)" - } - }, - "id": 845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8227:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 847, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "8264:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 848, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "8267:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 849, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "8270:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 846, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967280, - "src": "8257:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8257:25:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8285:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8257:29:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8227:59:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 859, - "nodeType": "IfStatement", - "src": "8223:101:3", - "trueBody": { - "id": 858, - "nodeType": "Block", - "src": "8288:36:3", - "statements": [ - { - "expression": { - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 854, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "8302:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8312:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8302:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 857, - "nodeType": "ExpressionStatement", - "src": "8302:11:3" - } - ] - } - }, - { - "expression": { - "id": 860, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "8340:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 834, - "id": 861, - "nodeType": "Return", - "src": "8333:13:3" - } - ] - }, - "documentation": { - "id": 821, - "nodeType": "StructuredDocumentation", - "src": "7925:121:3", - "text": " @notice Calculates x * y / denominator with full precision, following the selected rounding direction." - }, - "id": 863, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulDiv", - "nameLocation": "8060:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 823, - "mutability": "mutable", - "name": "x", - "nameLocation": "8075:1:3", - "nodeType": "VariableDeclaration", - "scope": 863, - "src": "8067:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8067:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 825, - "mutability": "mutable", - "name": "y", - "nameLocation": "8086:1:3", - "nodeType": "VariableDeclaration", - "scope": 863, - "src": "8078:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8078:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 827, - "mutability": "mutable", - "name": "denominator", - "nameLocation": "8097:11:3", - "nodeType": "VariableDeclaration", - "scope": 863, - "src": "8089:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8089:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 830, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "8119:8:3", - "nodeType": "VariableDeclaration", - "scope": 863, - "src": "8110:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 829, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 828, - "name": "Rounding", - "nameLocations": [ - "8110:8:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 443, - "src": "8110:8:3" - }, - "referencedDeclaration": 443, - "src": "8110:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "8066:62:3" - }, - "returnParameters": { - "id": 834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 833, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 863, - "src": "8152:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8152:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8151:9:3" - }, - "scope": 1486, - "src": "8051:302:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 974, - "nodeType": "Block", - "src": "8644:1585:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 871, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "8658:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8663:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8658:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 877, - "nodeType": "IfStatement", - "src": "8654:45:3", - "trueBody": { - "id": 876, - "nodeType": "Block", - "src": "8666:33:3", - "statements": [ - { - "expression": { - "hexValue": "30", - "id": 874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8687:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 870, - "id": 875, - "nodeType": "Return", - "src": "8680:8:3" - } - ] - } - }, - { - "assignments": [ - 879 - ], - "declarations": [ - { - "constant": false, - "id": 879, - "mutability": "mutable", - "name": "result", - "nameLocation": "9386:6:3", - "nodeType": "VariableDeclaration", - "scope": 974, - "src": "9378:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9378:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 888, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9395:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 882, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "9406:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 881, - "name": "log2", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1142, - 1177 - ], - "referencedDeclaration": 1142, - "src": "9401:4:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9401:7:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 884, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9412:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9401:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 886, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9400:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9395:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9378:36:3" - }, - { - "id": 973, - "nodeType": "UncheckedBlock", - "src": "9815:408:3", - "statements": [ - { - "expression": { - "id": 898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 889, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9839:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 890, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 891, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "9858:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 892, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9862:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9858:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9849:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 895, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9848:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 896, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9873:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9848:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9839:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 899, - "nodeType": "ExpressionStatement", - "src": "9839:35:3" - }, - { - "expression": { - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 900, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9888:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 901, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9898:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 902, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "9907:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 903, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9911:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9907:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9898:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 906, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9897:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9922:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9897:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9888:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 910, - "nodeType": "ExpressionStatement", - "src": "9888:35:3" - }, - { - "expression": { - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 911, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9937:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 912, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9947:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 913, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "9956:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 914, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9960:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9956:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9947:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 917, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9946:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9971:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9946:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9937:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 921, - "nodeType": "ExpressionStatement", - "src": "9937:35:3" - }, - { - "expression": { - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 922, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9986:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 923, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "9996:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 924, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "10005:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 925, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10009:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10005:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9996:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 928, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9995:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10020:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9995:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9986:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 932, - "nodeType": "ExpressionStatement", - "src": "9986:35:3" - }, - { - "expression": { - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 933, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10035:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 934, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10045:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 935, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "10054:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 936, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10058:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10054:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10045:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 939, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10044:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10069:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10044:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10035:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 943, - "nodeType": "ExpressionStatement", - "src": "10035:35:3" - }, - { - "expression": { - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 944, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10084:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 945, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10094:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 946, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "10103:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 947, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10107:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10103:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10094:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 950, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10093:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10118:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10093:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10084:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 954, - "nodeType": "ExpressionStatement", - "src": "10084:35:3" - }, - { - "expression": { - "id": 964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 955, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10133:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 956, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10143:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 957, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "10152:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 958, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10156:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10152:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10143:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 961, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10142:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10167:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10142:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10133:35:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 965, - "nodeType": "ExpressionStatement", - "src": "10133:35:3" - }, - { - "expression": { - "arguments": [ - { - "id": 967, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10193:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 968, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "10201:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 969, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 879, - "src": "10205:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10201:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 966, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "10189:3:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10189:23:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 870, - "id": 972, - "nodeType": "Return", - "src": "10182:30:3" - } - ] - } - ] - }, - "documentation": { - "id": 864, - "nodeType": "StructuredDocumentation", - "src": "8359:223:3", - "text": " @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n towards zero.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)." - }, - "id": 975, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nameLocation": "8596:4:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 866, - "mutability": "mutable", - "name": "a", - "nameLocation": "8609:1:3", - "nodeType": "VariableDeclaration", - "scope": 975, - "src": "8601:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8601:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8600:11:3" - }, - "returnParameters": { - "id": 870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 869, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 975, - "src": "8635:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8635:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8634:9:3" - }, - "scope": 1486, - "src": "8587:1642:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1009, - "nodeType": "Block", - "src": "10405:164:3", - "statements": [ - { - "id": 1008, - "nodeType": "UncheckedBlock", - "src": "10415:148:3", - "statements": [ - { - "assignments": [ - 987 - ], - "declarations": [ - { - "constant": false, - "id": 987, - "mutability": "mutable", - "name": "result", - "nameLocation": "10447:6:3", - "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "10439:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 986, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 991, - "initialValue": { - "arguments": [ - { - "id": 989, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 978, - "src": "10461:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 988, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 975, - 1010 - ], - "referencedDeclaration": 975, - "src": "10456:4:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10456:7:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10439:24:3" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 992, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 987, - "src": "10484:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 994, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "10511:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - ], - "id": 993, - "name": "unsignedRoundsUp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1485, - "src": "10494:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", - "typeString": "function (enum Math.Rounding) pure returns (bool)" - } - }, - "id": 995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10494:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 996, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 987, - "src": "10524:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 997, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 987, - "src": "10533:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10524:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 999, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 978, - "src": "10542:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10524:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10494:49:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 1003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10550:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 1004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "10494:57:3", - "trueExpression": { - "hexValue": "31", - "id": 1002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10546:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1005, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10493:59:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "10484:68:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 985, - "id": 1007, - "nodeType": "Return", - "src": "10477:75:3" - } - ] - } - ] - }, - "documentation": { - "id": 976, - "nodeType": "StructuredDocumentation", - "src": "10235:89:3", - "text": " @notice Calculates sqrt(a), following the selected rounding direction." - }, - "id": 1010, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nameLocation": "10338:4:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 982, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 978, - "mutability": "mutable", - "name": "a", - "nameLocation": "10351:1:3", - "nodeType": "VariableDeclaration", - "scope": 1010, - "src": "10343:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10343:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 981, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "10363:8:3", - "nodeType": "VariableDeclaration", - "scope": 1010, - "src": "10354:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 980, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 979, - "name": "Rounding", - "nameLocations": [ - "10354:8:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 443, - "src": "10354:8:3" - }, - "referencedDeclaration": 443, - "src": "10354:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "10342:30:3" - }, - "returnParameters": { - "id": 985, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 984, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1010, - "src": "10396:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10396:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10395:9:3" - }, - "scope": 1486, - "src": "10329:240:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1141, - "nodeType": "Block", - "src": "10760:922:3", - "statements": [ - { - "assignments": [ - 1019 - ], - "declarations": [ - { - "constant": false, - "id": 1019, - "mutability": "mutable", - "name": "result", - "nameLocation": "10778:6:3", - "nodeType": "VariableDeclaration", - "scope": 1141, - "src": "10770:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10770:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1021, - "initialValue": { - "hexValue": "30", - "id": 1020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10787:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "10770:18:3" - }, - { - "id": 1138, - "nodeType": "UncheckedBlock", - "src": "10798:855:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1022, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "10826:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 1023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10835:3:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "10826:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10841:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10826:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1036, - "nodeType": "IfStatement", - "src": "10822:99:3", - "trueBody": { - "id": 1035, - "nodeType": "Block", - "src": "10844:77:3", - "statements": [ - { - "expression": { - "id": 1029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1027, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "10862:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "313238", - "id": 1028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10872:3:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "10862:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1030, - "nodeType": "ExpressionStatement", - "src": "10862:13:3" - }, - { - "expression": { - "id": 1033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1031, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "10893:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "313238", - "id": 1032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10903:3:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "10893:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1034, - "nodeType": "ExpressionStatement", - "src": "10893:13:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1037, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "10938:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10947:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10938:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10952:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10938:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1051, - "nodeType": "IfStatement", - "src": "10934:96:3", - "trueBody": { - "id": 1050, - "nodeType": "Block", - "src": "10955:75:3", - "statements": [ - { - "expression": { - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1042, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "10973:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3634", - "id": 1043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10983:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10973:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1045, - "nodeType": "ExpressionStatement", - "src": "10973:12:3" - }, - { - "expression": { - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1046, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "11003:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3634", - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11013:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "11003:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1049, - "nodeType": "ExpressionStatement", - "src": "11003:12:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1052, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11047:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3332", - "id": 1053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11056:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "11047:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11061:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11047:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1066, - "nodeType": "IfStatement", - "src": "11043:96:3", - "trueBody": { - "id": 1065, - "nodeType": "Block", - "src": "11064:75:3", - "statements": [ - { - "expression": { - "id": 1059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1057, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11082:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3332", - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11092:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "11082:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1060, - "nodeType": "ExpressionStatement", - "src": "11082:12:3" - }, - { - "expression": { - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1061, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "11112:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3332", - "id": 1062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11122:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "11112:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1064, - "nodeType": "ExpressionStatement", - "src": "11112:12:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1067, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11156:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3136", - "id": 1068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11165:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11156:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11170:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11156:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1081, - "nodeType": "IfStatement", - "src": "11152:96:3", - "trueBody": { - "id": 1080, - "nodeType": "Block", - "src": "11173:75:3", - "statements": [ - { - "expression": { - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11191:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3136", - "id": 1073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11201:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11191:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1075, - "nodeType": "ExpressionStatement", - "src": "11191:12:3" - }, - { - "expression": { - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1076, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "11221:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 1077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11231:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11221:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1079, - "nodeType": "ExpressionStatement", - "src": "11221:12:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1082, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11265:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "38", - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11274:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "11265:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11278:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11265:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1096, - "nodeType": "IfStatement", - "src": "11261:93:3", - "trueBody": { - "id": 1095, - "nodeType": "Block", - "src": "11281:73:3", - "statements": [ - { - "expression": { - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1087, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11299:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "38", - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11309:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "11299:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1090, - "nodeType": "ExpressionStatement", - "src": "11299:11:3" - }, - { - "expression": { - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1091, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "11328:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 1092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11338:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "11328:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1094, - "nodeType": "ExpressionStatement", - "src": "11328:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11371:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "34", - "id": 1098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11380:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "11371:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11384:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11371:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1111, - "nodeType": "IfStatement", - "src": "11367:93:3", - "trueBody": { - "id": 1110, - "nodeType": "Block", - "src": "11387:73:3", - "statements": [ - { - "expression": { - "id": 1104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1102, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11405:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 1103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11415:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "11405:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1105, - "nodeType": "ExpressionStatement", - "src": "11405:11:3" - }, - { - "expression": { - "id": 1108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1106, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "11434:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 1107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11444:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "11434:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1109, - "nodeType": "ExpressionStatement", - "src": "11434:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1112, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11477:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "32", - "id": 1113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11486:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "11477:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11490:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11477:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1126, - "nodeType": "IfStatement", - "src": "11473:93:3", - "trueBody": { - "id": 1125, - "nodeType": "Block", - "src": "11493:73:3", - "statements": [ - { - "expression": { - "id": 1119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1117, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11511:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "32", - "id": 1118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11521:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "11511:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1120, - "nodeType": "ExpressionStatement", - "src": "11511:11:3" - }, - { - "expression": { - "id": 1123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1121, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "11540:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 1122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11550:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "11540:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1124, - "nodeType": "ExpressionStatement", - "src": "11540:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1127, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1013, - "src": "11583:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 1128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11592:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11583:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11596:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11583:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1137, - "nodeType": "IfStatement", - "src": "11579:64:3", - "trueBody": { - "id": 1136, - "nodeType": "Block", - "src": "11599:44:3", - "statements": [ - { - "expression": { - "id": 1134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1132, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "11617:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11627:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11617:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1135, - "nodeType": "ExpressionStatement", - "src": "11617:11:3" - } - ] - } - } - ] - }, - { - "expression": { - "id": 1139, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "11669:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1017, - "id": 1140, - "nodeType": "Return", - "src": "11662:13:3" - } - ] - }, - "documentation": { - "id": 1011, - "nodeType": "StructuredDocumentation", - "src": "10575:119:3", - "text": " @dev Return the log in base 2 of a positive value rounded towards zero.\n Returns 0 if given 0." - }, - "id": 1142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log2", - "nameLocation": "10708:4:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1013, - "mutability": "mutable", - "name": "value", - "nameLocation": "10721:5:3", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "10713:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10713:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10712:15:3" - }, - "returnParameters": { - "id": 1017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1016, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "10751:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10751:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10750:9:3" - }, - "scope": 1486, - "src": "10699:983:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1176, - "nodeType": "Block", - "src": "11915:168:3", - "statements": [ - { - "id": 1175, - "nodeType": "UncheckedBlock", - "src": "11925:152:3", - "statements": [ - { - "assignments": [ - 1154 - ], - "declarations": [ - { - "constant": false, - "id": 1154, - "mutability": "mutable", - "name": "result", - "nameLocation": "11957:6:3", - "nodeType": "VariableDeclaration", - "scope": 1175, - "src": "11949:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11949:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1158, - "initialValue": { - "arguments": [ - { - "id": 1156, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1145, - "src": "11971:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1155, - "name": "log2", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1142, - 1177 - ], - "referencedDeclaration": 1142, - "src": "11966:4:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 1157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11966:11:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11949:28:3" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1159, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "11998:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1161, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "12025:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - ], - "id": 1160, - "name": "unsignedRoundsUp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1485, - "src": "12008:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", - "typeString": "function (enum Math.Rounding) pure returns (bool)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12008:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 1163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12038:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "id": 1164, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "12043:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12038:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1166, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1145, - "src": "12052:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12038:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12008:49:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 1170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12064:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 1171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12008:57:3", - "trueExpression": { - "hexValue": "31", - "id": 1169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12060:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1172, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12007:59:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "11998:68:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1152, - "id": 1174, - "nodeType": "Return", - "src": "11991:75:3" - } - ] - } - ] - }, - "documentation": { - "id": 1143, - "nodeType": "StructuredDocumentation", - "src": "11688:142:3", - "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 1177, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log2", - "nameLocation": "11844:4:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1145, - "mutability": "mutable", - "name": "value", - "nameLocation": "11857:5:3", - "nodeType": "VariableDeclaration", - "scope": 1177, - "src": "11849:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11849:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1148, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "11873:8:3", - "nodeType": "VariableDeclaration", - "scope": 1177, - "src": "11864:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 1147, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1146, - "name": "Rounding", - "nameLocations": [ - "11864:8:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 443, - "src": "11864:8:3" - }, - "referencedDeclaration": 443, - "src": "11864:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "11848:34:3" - }, - "returnParameters": { - "id": 1152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1151, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1177, - "src": "11906:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11906:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11905:9:3" - }, - "scope": 1486, - "src": "11835:248:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1305, - "nodeType": "Block", - "src": "12276:854:3", - "statements": [ - { - "assignments": [ - 1186 - ], - "declarations": [ - { - "constant": false, - "id": 1186, - "mutability": "mutable", - "name": "result", - "nameLocation": "12294:6:3", - "nodeType": "VariableDeclaration", - "scope": 1305, - "src": "12286:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12286:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1188, - "initialValue": { - "hexValue": "30", - "id": 1187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12303:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12286:18:3" - }, - { - "id": 1302, - "nodeType": "UncheckedBlock", - "src": "12314:787:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1189, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - }, - "id": 1192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12351:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 1191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12357:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "12351:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - } - }, - "src": "12342:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1205, - "nodeType": "IfStatement", - "src": "12338:103:3", - "trueBody": { - "id": 1204, - "nodeType": "Block", - "src": "12361:80:3", - "statements": [ - { - "expression": { - "id": 1198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1194, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12379:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - }, - "id": 1197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12388:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 1196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12394:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "12388:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - } - }, - "src": "12379:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1199, - "nodeType": "ExpressionStatement", - "src": "12379:17:3" - }, - { - "expression": { - "id": 1202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1200, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "12414:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3634", - "id": 1201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12424:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "12414:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1203, - "nodeType": "ExpressionStatement", - "src": "12414:12:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1206, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12458:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - }, - "id": 1209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12467:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 1208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12473:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "12467:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - } - }, - "src": "12458:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1222, - "nodeType": "IfStatement", - "src": "12454:103:3", - "trueBody": { - "id": 1221, - "nodeType": "Block", - "src": "12477:80:3", - "statements": [ - { - "expression": { - "id": 1215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1211, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - }, - "id": 1214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12504:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 1213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12510:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "12504:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - } - }, - "src": "12495:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1216, - "nodeType": "ExpressionStatement", - "src": "12495:17:3" - }, - { - "expression": { - "id": 1219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1217, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "12530:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3332", - "id": 1218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12540:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "12530:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1220, - "nodeType": "ExpressionStatement", - "src": "12530:12:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1223, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12574:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - }, - "id": 1226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12583:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3136", - "id": 1225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12589:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "12583:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - } - }, - "src": "12574:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1239, - "nodeType": "IfStatement", - "src": "12570:103:3", - "trueBody": { - "id": 1238, - "nodeType": "Block", - "src": "12593:80:3", - "statements": [ - { - "expression": { - "id": 1232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1228, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12611:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - }, - "id": 1231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12620:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3136", - "id": 1230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12626:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "12620:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - } - }, - "src": "12611:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1233, - "nodeType": "ExpressionStatement", - "src": "12611:17:3" - }, - { - "expression": { - "id": 1236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1234, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "12646:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 1235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12656:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "12646:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1237, - "nodeType": "ExpressionStatement", - "src": "12646:12:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1240, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12690:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12699:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "38", - "id": 1242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12705:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "12699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "12690:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1256, - "nodeType": "IfStatement", - "src": "12686:100:3", - "trueBody": { - "id": 1255, - "nodeType": "Block", - "src": "12708:78:3", - "statements": [ - { - "expression": { - "id": 1249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1245, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12726:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 1248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12735:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "38", - "id": 1247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12741:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "12735:7:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "12726:16:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1250, - "nodeType": "ExpressionStatement", - "src": "12726:16:3" - }, - { - "expression": { - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1251, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "12760:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 1252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12770:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "12760:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1254, - "nodeType": "ExpressionStatement", - "src": "12760:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1257, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12803:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 1260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12812:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 1259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12818:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "12812:7:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "src": "12803:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1273, - "nodeType": "IfStatement", - "src": "12799:100:3", - "trueBody": { - "id": 1272, - "nodeType": "Block", - "src": "12821:78:3", - "statements": [ - { - "expression": { - "id": 1266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1262, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12839:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 1265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12848:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12854:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "12848:7:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "src": "12839:16:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1267, - "nodeType": "ExpressionStatement", - "src": "12839:16:3" - }, - { - "expression": { - "id": 1270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1268, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "12873:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 1269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12883:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "12873:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1271, - "nodeType": "ExpressionStatement", - "src": "12873:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1274, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12916:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "id": 1277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12925:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "32", - "id": 1276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12931:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "12925:7:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - }, - "src": "12916:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1290, - "nodeType": "IfStatement", - "src": "12912:100:3", - "trueBody": { - "id": 1289, - "nodeType": "Block", - "src": "12934:78:3", - "statements": [ - { - "expression": { - "id": 1283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1279, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "12952:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "id": 1282, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12961:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "32", - "id": 1281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12967:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "12961:7:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - }, - "src": "12952:16:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1284, - "nodeType": "ExpressionStatement", - "src": "12952:16:3" - }, - { - "expression": { - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1285, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "12986:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 1286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12996:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "12986:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1288, - "nodeType": "ExpressionStatement", - "src": "12986:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1291, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "13029:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "id": 1294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13038:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "31", - "id": 1293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13044:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13038:7:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - } - }, - "src": "13029:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1301, - "nodeType": "IfStatement", - "src": "13025:66:3", - "trueBody": { - "id": 1300, - "nodeType": "Block", - "src": "13047:44:3", - "statements": [ - { - "expression": { - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1296, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "13065:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 1297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13075:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13065:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1299, - "nodeType": "ExpressionStatement", - "src": "13065:11:3" - } - ] - } - } - ] - }, - { - "expression": { - "id": 1303, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "13117:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1184, - "id": 1304, - "nodeType": "Return", - "src": "13110:13:3" - } - ] - }, - "documentation": { - "id": 1178, - "nodeType": "StructuredDocumentation", - "src": "12089:120:3", - "text": " @dev Return the log in base 10 of a positive value rounded towards zero.\n Returns 0 if given 0." - }, - "id": 1306, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log10", - "nameLocation": "12223:5:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1180, - "mutability": "mutable", - "name": "value", - "nameLocation": "12237:5:3", - "nodeType": "VariableDeclaration", - "scope": 1306, - "src": "12229:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12229:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12228:15:3" - }, - "returnParameters": { - "id": 1184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1183, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1306, - "src": "12267:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12267:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12266:9:3" - }, - "scope": 1486, - "src": "12214:916:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1340, - "nodeType": "Block", - "src": "13365:170:3", - "statements": [ - { - "id": 1339, - "nodeType": "UncheckedBlock", - "src": "13375:154:3", - "statements": [ - { - "assignments": [ - 1318 - ], - "declarations": [ - { - "constant": false, - "id": 1318, - "mutability": "mutable", - "name": "result", - "nameLocation": "13407:6:3", - "nodeType": "VariableDeclaration", - "scope": 1339, - "src": "13399:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13399:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1322, - "initialValue": { - "arguments": [ - { - "id": 1320, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1309, - "src": "13422:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1319, - "name": "log10", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1306, - 1341 - ], - "referencedDeclaration": 1306, - "src": "13416:5:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13416:12:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13399:29:3" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1323, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "13449:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1325, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1312, - "src": "13476:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - ], - "id": 1324, - "name": "unsignedRoundsUp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1485, - "src": "13459:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", - "typeString": "function (enum Math.Rounding) pure returns (bool)" - } - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13459:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 1327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13489:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 1328, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "13495:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13489:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1330, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1309, - "src": "13504:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13489:20:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13459:50:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 1334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13516:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 1335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "13459:58:3", - "trueExpression": { - "hexValue": "31", - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13512:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1336, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13458:60:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "13449:69:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1316, - "id": 1338, - "nodeType": "Return", - "src": "13442:76:3" - } - ] - } - ] - }, - "documentation": { - "id": 1307, - "nodeType": "StructuredDocumentation", - "src": "13136:143:3", - "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 1341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log10", - "nameLocation": "13293:5:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1309, - "mutability": "mutable", - "name": "value", - "nameLocation": "13307:5:3", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "13299:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13299:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1312, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "13323:8:3", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "13314:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 1311, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1310, - "name": "Rounding", - "nameLocations": [ - "13314:8:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 443, - "src": "13314:8:3" - }, - "referencedDeclaration": 443, - "src": "13314:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "13298:34:3" - }, - "returnParameters": { - "id": 1316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1315, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "13356:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13356:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13355:9:3" - }, - "scope": 1486, - "src": "13284:251:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1427, - "nodeType": "Block", - "src": "13855:600:3", - "statements": [ - { - "assignments": [ - 1350 - ], - "declarations": [ - { - "constant": false, - "id": 1350, - "mutability": "mutable", - "name": "result", - "nameLocation": "13873:6:3", - "nodeType": "VariableDeclaration", - "scope": 1427, - "src": "13865:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13865:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1352, - "initialValue": { - "hexValue": "30", - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13882:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13865:18:3" - }, - { - "id": 1424, - "nodeType": "UncheckedBlock", - "src": "13893:533:3", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1353, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "13921:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 1354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13930:3:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "13921:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13936:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13921:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1367, - "nodeType": "IfStatement", - "src": "13917:98:3", - "trueBody": { - "id": 1366, - "nodeType": "Block", - "src": "13939:76:3", - "statements": [ - { - "expression": { - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1358, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "13957:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "313238", - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13967:3:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "13957:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1361, - "nodeType": "ExpressionStatement", - "src": "13957:13:3" - }, - { - "expression": { - "id": 1364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1362, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1350, - "src": "13988:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13998:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "13988:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1365, - "nodeType": "ExpressionStatement", - "src": "13988:12:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1368, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "14032:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14041:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "14032:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14046:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14032:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1382, - "nodeType": "IfStatement", - "src": "14028:95:3", - "trueBody": { - "id": 1381, - "nodeType": "Block", - "src": "14049:74:3", - "statements": [ - { - "expression": { - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1373, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "14067:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3634", - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14077:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "14067:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1376, - "nodeType": "ExpressionStatement", - "src": "14067:12:3" - }, - { - "expression": { - "id": 1379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1377, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1350, - "src": "14097:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 1378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14107:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "14097:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1380, - "nodeType": "ExpressionStatement", - "src": "14097:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1383, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "14140:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3332", - "id": 1384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14149:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14140:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14154:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14140:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1397, - "nodeType": "IfStatement", - "src": "14136:95:3", - "trueBody": { - "id": 1396, - "nodeType": "Block", - "src": "14157:74:3", - "statements": [ - { - "expression": { - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1388, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "14175:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3332", - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14185:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "14175:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1391, - "nodeType": "ExpressionStatement", - "src": "14175:12:3" - }, - { - "expression": { - "id": 1394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1392, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1350, - "src": "14205:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 1393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14215:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "14205:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1395, - "nodeType": "ExpressionStatement", - "src": "14205:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1398, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "14248:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3136", - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14257:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "14248:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14262:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14248:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1412, - "nodeType": "IfStatement", - "src": "14244:95:3", - "trueBody": { - "id": 1411, - "nodeType": "Block", - "src": "14265:74:3", - "statements": [ - { - "expression": { - "id": 1405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1403, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "14283:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3136", - "id": 1404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14293:2:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "14283:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1406, - "nodeType": "ExpressionStatement", - "src": "14283:12:3" - }, - { - "expression": { - "id": 1409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1407, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1350, - "src": "14313:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14323:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "14313:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1410, - "nodeType": "ExpressionStatement", - "src": "14313:11:3" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1413, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "14356:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "38", - "id": 1414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14365:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "14356:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14369:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14356:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1423, - "nodeType": "IfStatement", - "src": "14352:64:3", - "trueBody": { - "id": 1422, - "nodeType": "Block", - "src": "14372:44:3", - "statements": [ - { - "expression": { - "id": 1420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1418, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1350, - "src": "14390:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14400:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14390:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1421, - "nodeType": "ExpressionStatement", - "src": "14390:11:3" - } - ] - } - } - ] - }, - { - "expression": { - "id": 1425, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1350, - "src": "14442:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1348, - "id": 1426, - "nodeType": "Return", - "src": "14435:13:3" - } - ] - }, - "documentation": { - "id": 1342, - "nodeType": "StructuredDocumentation", - "src": "13541:246:3", - "text": " @dev Return the log in base 256 of a positive value rounded towards zero.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string." - }, - "id": 1428, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log256", - "nameLocation": "13801:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1344, - "mutability": "mutable", - "name": "value", - "nameLocation": "13816:5:3", - "nodeType": "VariableDeclaration", - "scope": 1428, - "src": "13808:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13808:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13807:15:3" - }, - "returnParameters": { - "id": 1348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1347, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1428, - "src": "13846:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13846:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13845:9:3" - }, - "scope": 1486, - "src": "13792:663:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1465, - "nodeType": "Block", - "src": "14692:177:3", - "statements": [ - { - "id": 1464, - "nodeType": "UncheckedBlock", - "src": "14702:161:3", - "statements": [ - { - "assignments": [ - 1440 - ], - "declarations": [ - { - "constant": false, - "id": 1440, - "mutability": "mutable", - "name": "result", - "nameLocation": "14734:6:3", - "nodeType": "VariableDeclaration", - "scope": 1464, - "src": "14726:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14726:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1444, - "initialValue": { - "arguments": [ - { - "id": 1442, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1431, - "src": "14750:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1441, - "name": "log256", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1428, - 1466 - ], - "referencedDeclaration": 1428, - "src": "14743:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 1443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14743:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14726:30:3" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1445, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "14777:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1447, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1434, - "src": "14804:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - ], - "id": 1446, - "name": "unsignedRoundsUp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1485, - "src": "14787:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_Rounding_$443_$returns$_t_bool_$", - "typeString": "function (enum Math.Rounding) pure returns (bool)" - } - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14787:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 1449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14817:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1450, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "14823:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "33", - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14833:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "14823:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1453, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14822:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14817:18:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1455, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1431, - "src": "14838:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14817:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14787:56:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 1459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14850:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 1460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "14787:64:3", - "trueExpression": { - "hexValue": "31", - "id": 1458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14846:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 1461, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14786:66:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "14777:75:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1438, - "id": 1463, - "nodeType": "Return", - "src": "14770:82:3" - } - ] - } - ] - }, - "documentation": { - "id": 1429, - "nodeType": "StructuredDocumentation", - "src": "14461:144:3", - "text": " @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 1466, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log256", - "nameLocation": "14619:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1431, - "mutability": "mutable", - "name": "value", - "nameLocation": "14634:5:3", - "nodeType": "VariableDeclaration", - "scope": 1466, - "src": "14626:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14626:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1434, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "14650:8:3", - "nodeType": "VariableDeclaration", - "scope": 1466, - "src": "14641:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 1433, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1432, - "name": "Rounding", - "nameLocations": [ - "14641:8:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 443, - "src": "14641:8:3" - }, - "referencedDeclaration": 443, - "src": "14641:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "14625:34:3" - }, - "returnParameters": { - "id": 1438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1437, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1466, - "src": "14683:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14683:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14682:9:3" - }, - "scope": 1486, - "src": "14610:259:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1484, - "nodeType": "Block", - "src": "15067:48:3", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1477, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1470, - "src": "15090:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - ], - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15084:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 1475, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15084:5:3", - "typeDescriptions": {} - } - }, - "id": 1478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15084:15:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "hexValue": "32", - "id": 1479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15102:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "15084:19:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "31", - "id": 1481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15107:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15084:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1474, - "id": 1483, - "nodeType": "Return", - "src": "15077:31:3" - } - ] - }, - "documentation": { - "id": 1467, - "nodeType": "StructuredDocumentation", - "src": "14875:113:3", - "text": " @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers." - }, - "id": 1485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unsignedRoundsUp", - "nameLocation": "15002:16:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1470, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "15028:8:3", - "nodeType": "VariableDeclaration", - "scope": 1485, - "src": "15019:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 1469, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1468, - "name": "Rounding", - "nameLocations": [ - "15019:8:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 443, - "src": "15019:8:3" - }, - "referencedDeclaration": 443, - "src": "15019:8:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$443", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "15018:19:3" - }, - "returnParameters": { - "id": 1474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1473, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1485, - "src": "15061:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1472, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15061:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "15060:6:3" - }, - "scope": 1486, - "src": "14993:122:3", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1487, - "src": "203:14914:3", - "usedErrors": [ - 438 - ], - "usedEvents": [] - } - ], - "src": "103:15015:3" - }, - "id": 3 - }, - "@openzeppelin/contracts/utils/math/SignedMath.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", - "exportedSymbols": { - "SignedMath": [ - 1591 - ] - }, - "id": 1592, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1488, - "literals": [ - "solidity", - "^", - "0.8", - ".20" - ], - "nodeType": "PragmaDirective", - "src": "109:24:4" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "SignedMath", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1489, - "nodeType": "StructuredDocumentation", - "src": "135:80:4", - "text": " @dev Standard signed math utilities missing in the Solidity language." - }, - "fullyImplemented": true, - "id": 1591, - "linearizedBaseContracts": [ - 1591 - ], - "name": "SignedMath", - "nameLocation": "224:10:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1506, - "nodeType": "Block", - "src": "376:37:4", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1499, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "393:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1500, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "397:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "393:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 1503, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "405:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 1504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "393:13:4", - "trueExpression": { - "id": 1502, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "401:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "functionReturnParameters": 1498, - "id": 1505, - "nodeType": "Return", - "src": "386:20:4" - } - ] - }, - "documentation": { - "id": 1490, - "nodeType": "StructuredDocumentation", - "src": "241:66:4", - "text": " @dev Returns the largest of two signed numbers." - }, - "id": 1507, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "max", - "nameLocation": "321:3:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1492, - "mutability": "mutable", - "name": "a", - "nameLocation": "332:1:4", - "nodeType": "VariableDeclaration", - "scope": 1507, - "src": "325:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1491, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "325:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1494, - "mutability": "mutable", - "name": "b", - "nameLocation": "342:1:4", - "nodeType": "VariableDeclaration", - "scope": 1507, - "src": "335:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1493, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "335:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "324:20:4" - }, - "returnParameters": { - "id": 1498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1497, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1507, - "src": "368:6:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1496, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "368:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "367:8:4" - }, - "scope": 1591, - "src": "312:101:4", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1524, - "nodeType": "Block", - "src": "555:37:4", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1517, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1510, - "src": "572:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1518, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "576:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "572:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 1521, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "584:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 1522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "572:13:4", - "trueExpression": { - "id": 1520, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1510, - "src": "580:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "functionReturnParameters": 1516, - "id": 1523, - "nodeType": "Return", - "src": "565:20:4" - } - ] - }, - "documentation": { - "id": 1508, - "nodeType": "StructuredDocumentation", - "src": "419:67:4", - "text": " @dev Returns the smallest of two signed numbers." - }, - "id": 1525, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nameLocation": "500:3:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1510, - "mutability": "mutable", - "name": "a", - "nameLocation": "511:1:4", - "nodeType": "VariableDeclaration", - "scope": 1525, - "src": "504:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1509, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "504:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1512, - "mutability": "mutable", - "name": "b", - "nameLocation": "521:1:4", - "nodeType": "VariableDeclaration", - "scope": 1525, - "src": "514:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1511, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "514:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "503:20:4" - }, - "returnParameters": { - "id": 1516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1515, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1525, - "src": "547:6:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1514, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "547:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "546:8:4" - }, - "scope": 1591, - "src": "491:101:4", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1568, - "nodeType": "Block", - "src": "797:162:4", - "statements": [ - { - "assignments": [ - 1536 - ], - "declarations": [ - { - "constant": false, - "id": 1536, - "mutability": "mutable", - "name": "x", - "nameLocation": "866:1:4", - "nodeType": "VariableDeclaration", - "scope": 1568, - "src": "859:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1535, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "859:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 1549, - "initialValue": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1537, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "871:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "id": 1538, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1530, - "src": "875:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "871:5:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 1540, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "870:7:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1541, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "882:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "id": 1542, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1530, - "src": "886:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "882:5:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 1544, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "881:7:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 1545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "892:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "881:12:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 1547, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "880:14:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "870:24:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "859:35:4" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1550, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1536, - "src": "911:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1555, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1536, - "src": "931:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 1554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "923:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:4", - "typeDescriptions": {} - } - }, - "id": 1556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "923:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "323535", - "id": 1557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "937:3:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_255_by_1", - "typeString": "int_const 255" - }, - "value": "255" - }, - "src": "923:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "916:6:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int256_$", - "typeString": "type(int256)" - }, - "typeName": { - "id": 1551, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "916:6:4", - "typeDescriptions": {} - } - }, - "id": 1559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "916:25:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1560, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1528, - "src": "945:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "id": 1561, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1530, - "src": "949:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "945:5:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 1563, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "944:7:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "916:35:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 1565, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "915:37:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "911:41:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "functionReturnParameters": 1534, - "id": 1567, - "nodeType": "Return", - "src": "904:48:4" - } - ] - }, - "documentation": { - "id": 1526, - "nodeType": "StructuredDocumentation", - "src": "598:126:4", - "text": " @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero." - }, - "id": 1569, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "average", - "nameLocation": "738:7:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1531, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1528, - "mutability": "mutable", - "name": "a", - "nameLocation": "753:1:4", - "nodeType": "VariableDeclaration", - "scope": 1569, - "src": "746:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1527, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "746:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1530, - "mutability": "mutable", - "name": "b", - "nameLocation": "763:1:4", - "nodeType": "VariableDeclaration", - "scope": 1569, - "src": "756:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1529, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "756:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "745:20:4" - }, - "returnParameters": { - "id": 1534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1533, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1569, - "src": "789:6:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1532, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "789:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "788:8:4" - }, - "scope": 1591, - "src": "729:230:4", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1589, - "nodeType": "Block", - "src": "1103:158:4", - "statements": [ - { - "id": 1588, - "nodeType": "UncheckedBlock", - "src": "1113:142:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1579, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1572, - "src": "1228:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "hexValue": "30", - "id": 1580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1233:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1228:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 1584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1241:2:4", - "subExpression": { - "id": 1583, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1572, - "src": "1242:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1228:15:4", - "trueExpression": { - "id": 1582, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1572, - "src": "1237:1:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 1578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1220:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1220:7:4", - "typeDescriptions": {} - } - }, - "id": 1586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1220:24:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1576, - "id": 1587, - "nodeType": "Return", - "src": "1213:31:4" - } - ] - } - ] - }, - "documentation": { - "id": 1570, - "nodeType": "StructuredDocumentation", - "src": "965:78:4", - "text": " @dev Returns the absolute unsigned value of a signed value." - }, - "id": 1590, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "abs", - "nameLocation": "1057:3:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1573, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1572, - "mutability": "mutable", - "name": "n", - "nameLocation": "1068:1:4", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "1061:8:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1571, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1061:6:4", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "1060:10:4" - }, - "returnParameters": { - "id": 1576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1575, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1590, - "src": "1094:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1094:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1093:9:4" - }, - "scope": 1591, - "src": "1048:213:4", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1592, - "src": "216:1047:4", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "109:1155:4" - }, - "id": 4 - }, - "EAS/Common.sol": { - "ast": { - "absolutePath": "EAS/Common.sol", - "exportedSymbols": { - "AccessDenied": [ - 1601 - ], - "Attestation": [ - 1641 - ], - "DeadlineExpired": [ - 1603 - ], - "EMPTY_UID": [ - 1596 - ], - "InvalidEAS": [ - 1605 - ], - "InvalidLength": [ - 1607 - ], - "InvalidSignature": [ - 1609 - ], - "NO_EXPIRATION_TIME": [ - 1599 - ], - "NotFound": [ - 1611 - ], - "Signature": [ - 1619 - ], - "uncheckedInc": [ - 1657 - ] - }, - "id": 1658, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1593, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:5" - }, - { - "constant": true, - "id": 1596, - "mutability": "constant", - "name": "EMPTY_UID", - "nameLocation": "126:9:5", - "nodeType": "VariableDeclaration", - "scope": 1658, - "src": "109:30:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1594, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "109:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "30", - "id": 1595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "138:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1599, - "mutability": "constant", - "name": "NO_EXPIRATION_TIME", - "nameLocation": "219:18:5", - "nodeType": "VariableDeclaration", - "scope": 1658, - "src": "203:38:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1597, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "203:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "value": { - "hexValue": "30", - "id": 1598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "240:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "errorSelector": "4ca88867", - "id": 1601, - "name": "AccessDenied", - "nameLocation": "250:12:5", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 1600, - "nodeType": "ParameterList", - "parameters": [], - "src": "262:2:5" - }, - "src": "244:21:5" - }, - { - "errorSelector": "1ab7da6b", - "id": 1603, - "name": "DeadlineExpired", - "nameLocation": "272:15:5", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 1602, - "nodeType": "ParameterList", - "parameters": [], - "src": "287:2:5" - }, - "src": "266:24:5" - }, - { - "errorSelector": "83780ffe", - "id": 1605, - "name": "InvalidEAS", - "nameLocation": "297:10:5", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 1604, - "nodeType": "ParameterList", - "parameters": [], - "src": "307:2:5" - }, - "src": "291:19:5" - }, - { - "errorSelector": "947d5a84", - "id": 1607, - "name": "InvalidLength", - "nameLocation": "317:13:5", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 1606, - "nodeType": "ParameterList", - "parameters": [], - "src": "330:2:5" - }, - "src": "311:22:5" - }, - { - "errorSelector": "8baa579f", - "id": 1609, - "name": "InvalidSignature", - "nameLocation": "340:16:5", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 1608, - "nodeType": "ParameterList", - "parameters": [], - "src": "356:2:5" - }, - "src": "334:25:5" - }, - { - "errorSelector": "c5723b51", - "id": 1611, - "name": "NotFound", - "nameLocation": "366:8:5", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 1610, - "nodeType": "ParameterList", - "parameters": [], - "src": "374:2:5" - }, - "src": "360:17:5" - }, - { - "canonicalName": "Signature", - "documentation": { - "id": 1612, - "nodeType": "StructuredDocumentation", - "src": "379:56:5", - "text": "@notice A struct representing ECDSA signature data." - }, - "id": 1619, - "members": [ - { - "constant": false, - "id": 1614, - "mutability": "mutable", - "name": "v", - "nameLocation": "464:1:5", - "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "458:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1613, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "458:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1616, - "mutability": "mutable", - "name": "r", - "nameLocation": "499:1:5", - "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "491:9:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1615, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "491:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1618, - "mutability": "mutable", - "name": "s", - "nameLocation": "550:1:5", - "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "542:9:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1617, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "542:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "name": "Signature", - "nameLocation": "442:9:5", - "nodeType": "StructDefinition", - "scope": 1658, - "src": "435:142:5", - "visibility": "public" - }, - { - "canonicalName": "Attestation", - "documentation": { - "id": 1620, - "nodeType": "StructuredDocumentation", - "src": "579:56:5", - "text": "@notice A struct representing a single attestation." - }, - "id": 1641, - "members": [ - { - "constant": false, - "id": 1622, - "mutability": "mutable", - "name": "uid", - "nameLocation": "668:3:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "660:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1621, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "660:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1624, - "mutability": "mutable", - "name": "schema", - "nameLocation": "728:6:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "720:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1623, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "720:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1626, - "mutability": "mutable", - "name": "time", - "nameLocation": "787:4:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "780:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1625, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "780:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1628, - "mutability": "mutable", - "name": "expirationTime", - "nameLocation": "867:14:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "860:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1627, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "860:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1630, - "mutability": "mutable", - "name": "revocationTime", - "nameLocation": "953:14:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "946:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1629, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "946:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1632, - "mutability": "mutable", - "name": "refUID", - "nameLocation": "1044:6:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "1036:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1631, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1036:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1634, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "1103:9:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "1095:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1095:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1636, - "mutability": "mutable", - "name": "attester", - "nameLocation": "1163:8:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "1155:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1635, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1155:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1638, - "mutability": "mutable", - "name": "revocable", - "nameLocation": "1225:9:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "1220:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1637, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1220:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1640, - "mutability": "mutable", - "name": "data", - "nameLocation": "1287:4:5", - "nodeType": "VariableDeclaration", - "scope": 1641, - "src": "1281:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1639, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1281:5:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "name": "Attestation", - "nameLocation": "642:11:5", - "nodeType": "StructDefinition", - "scope": 1658, - "src": "635:687:5", - "visibility": "public" - }, - { - "body": { - "id": 1656, - "nodeType": "Block", - "src": "1455:44:5", - "statements": [ - { - "id": 1655, - "nodeType": "UncheckedBlock", - "src": "1461:36:5", - "statements": [ - { - "expression": { - "id": 1653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1649, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "1481:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1650, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "1485:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1489:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1485:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1481:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1654, - "nodeType": "ExpressionStatement", - "src": "1481:9:5" - } - ] - } - ] - }, - "documentation": { - "id": 1642, - "nodeType": "StructuredDocumentation", - "src": "1324:73:5", - "text": "@notice A helper function to work with unchecked iterators in loops." - }, - "id": 1657, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "uncheckedInc", - "nameLocation": "1406:12:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1644, - "mutability": "mutable", - "name": "i", - "nameLocation": "1427:1:5", - "nodeType": "VariableDeclaration", - "scope": 1657, - "src": "1419:9:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1419:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1418:11:5" - }, - "returnParameters": { - "id": 1648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1647, - "mutability": "mutable", - "name": "j", - "nameLocation": "1452:1:5", - "nodeType": "VariableDeclaration", - "scope": 1657, - "src": "1444:9:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1444:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1443:11:5" - }, - "scope": 1658, - "src": "1397:102:5", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "src": "33:1466:5" - }, - "id": 5 - }, - "EAS/IEAS.sol": { - "ast": { - "absolutePath": "EAS/IEAS.sol", - "exportedSymbols": { - "Attestation": [ - 1641 - ], - "AttestationRequest": [ - 1687 - ], - "AttestationRequestData": [ - 1680 - ], - "DelegatedAttestationRequest": [ - 1701 - ], - "DelegatedRevocationRequest": [ - 1752 - ], - "IEAS": [ - 1964 - ], - "ISchemaRegistry": [ - 2017 - ], - "ISemver": [ - 2087 - ], - "MultiAttestationRequest": [ - 1709 - ], - "MultiDelegatedAttestationRequest": [ - 1725 - ], - "MultiDelegatedRevocationRequest": [ - 1776 - ], - "MultiRevocationRequest": [ - 1760 - ], - "RevocationRequest": [ - 1738 - ], - "RevocationRequestData": [ - 1731 - ], - "Signature": [ - 1619 - ] - }, - "id": 1965, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1659, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:6" - }, - { - "absolutePath": "EAS/ISchemaRegistry.sol", - "file": "./ISchemaRegistry.sol", - "id": 1661, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1965, - "sourceUnit": 2018, - "src": "58:56:6", - "symbolAliases": [ - { - "foreign": { - "id": 1660, - "name": "ISchemaRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2017, - "src": "67:15:6", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/ISemver.sol", - "file": "./ISemver.sol", - "id": 1663, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1965, - "sourceUnit": 2088, - "src": "115:40:6", - "symbolAliases": [ - { - "foreign": { - "id": 1662, - "name": "ISemver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "124:7:6", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/Common.sol", - "file": "./Common.sol", - "id": 1666, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1965, - "sourceUnit": 1658, - "src": "156:54:6", - "symbolAliases": [ - { - "foreign": { - "id": 1664, - "name": "Attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "165:11:6", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 1665, - "name": "Signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1619, - "src": "178:9:6", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "canonicalName": "AttestationRequestData", - "documentation": { - "id": 1667, - "nodeType": "StructuredDocumentation", - "src": "212:76:6", - "text": "@notice A struct representing the arguments of the attestation request." - }, - "id": 1680, - "members": [ - { - "constant": false, - "id": 1669, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "332:9:6", - "nodeType": "VariableDeclaration", - "scope": 1680, - "src": "324:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "324:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1671, - "mutability": "mutable", - "name": "expirationTime", - "nameLocation": "391:14:6", - "nodeType": "VariableDeclaration", - "scope": 1680, - "src": "384:21:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1670, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "384:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1673, - "mutability": "mutable", - "name": "revocable", - "nameLocation": "475:9:6", - "nodeType": "VariableDeclaration", - "scope": 1680, - "src": "470:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1672, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "470:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1675, - "mutability": "mutable", - "name": "refUID", - "nameLocation": "539:6:6", - "nodeType": "VariableDeclaration", - "scope": 1680, - "src": "531:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1674, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "531:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1677, - "mutability": "mutable", - "name": "data", - "nameLocation": "596:4:6", - "nodeType": "VariableDeclaration", - "scope": 1680, - "src": "590:10:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1676, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "590:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1679, - "mutability": "mutable", - "name": "value", - "nameLocation": "642:5:6", - "nodeType": "VariableDeclaration", - "scope": 1680, - "src": "634:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "634:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "AttestationRequestData", - "nameLocation": "295:22:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "288:466:6", - "visibility": "public" - }, - { - "canonicalName": "AttestationRequest", - "documentation": { - "id": 1681, - "nodeType": "StructuredDocumentation", - "src": "756:81:6", - "text": "@notice A struct representing the full arguments of the attestation request." - }, - "id": 1687, - "members": [ - { - "constant": false, - "id": 1683, - "mutability": "mutable", - "name": "schema", - "nameLocation": "877:6:6", - "nodeType": "VariableDeclaration", - "scope": 1687, - "src": "869:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1682, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "869:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1686, - "mutability": "mutable", - "name": "data", - "nameLocation": "952:4:6", - "nodeType": "VariableDeclaration", - "scope": 1687, - "src": "929:27:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", - "typeString": "struct AttestationRequestData" - }, - "typeName": { - "id": 1685, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1684, - "name": "AttestationRequestData", - "nameLocations": [ - "929:22:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1680, - "src": "929:22:6" - }, - "referencedDeclaration": 1680, - "src": "929:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", - "typeString": "struct AttestationRequestData" - } - }, - "visibility": "internal" - } - ], - "name": "AttestationRequest", - "nameLocation": "844:18:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "837:167:6", - "visibility": "public" - }, - { - "canonicalName": "DelegatedAttestationRequest", - "documentation": { - "id": 1688, - "nodeType": "StructuredDocumentation", - "src": "1006:96:6", - "text": "@notice A struct representing the full arguments of the full delegated attestation request." - }, - "id": 1701, - "members": [ - { - "constant": false, - "id": 1690, - "mutability": "mutable", - "name": "schema", - "nameLocation": "1151:6:6", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "1143:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1689, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1143:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1693, - "mutability": "mutable", - "name": "data", - "nameLocation": "1226:4:6", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "1203:27:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", - "typeString": "struct AttestationRequestData" - }, - "typeName": { - "id": 1692, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1691, - "name": "AttestationRequestData", - "nameLocations": [ - "1203:22:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1680, - "src": "1203:22:6" - }, - "referencedDeclaration": 1680, - "src": "1203:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", - "typeString": "struct AttestationRequestData" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1696, - "mutability": "mutable", - "name": "signature", - "nameLocation": "1291:9:6", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "1281:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", - "typeString": "struct Signature" - }, - "typeName": { - "id": 1695, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1694, - "name": "Signature", - "nameLocations": [ - "1281:9:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1619, - "src": "1281:9:6" - }, - "referencedDeclaration": 1619, - "src": "1281:9:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", - "typeString": "struct Signature" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1698, - "mutability": "mutable", - "name": "attester", - "nameLocation": "1343:8:6", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "1335:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1697, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1335:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1700, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "1390:8:6", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "1383:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1699, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "1383:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "DelegatedAttestationRequest", - "nameLocation": "1109:27:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "1102:341:6", - "visibility": "public" - }, - { - "canonicalName": "MultiAttestationRequest", - "documentation": { - "id": 1702, - "nodeType": "StructuredDocumentation", - "src": "1445:87:6", - "text": "@notice A struct representing the full arguments of the multi attestation request." - }, - "id": 1709, - "members": [ - { - "constant": false, - "id": 1704, - "mutability": "mutable", - "name": "schema", - "nameLocation": "1577:6:6", - "nodeType": "VariableDeclaration", - "scope": 1709, - "src": "1569:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1703, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1569:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1708, - "mutability": "mutable", - "name": "data", - "nameLocation": "1654:4:6", - "nodeType": "VariableDeclaration", - "scope": 1709, - "src": "1629:29:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AttestationRequestData_$1680_storage_$dyn_storage_ptr", - "typeString": "struct AttestationRequestData[]" - }, - "typeName": { - "baseType": { - "id": 1706, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1705, - "name": "AttestationRequestData", - "nameLocations": [ - "1629:22:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1680, - "src": "1629:22:6" - }, - "referencedDeclaration": 1680, - "src": "1629:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", - "typeString": "struct AttestationRequestData" - } - }, - "id": 1707, - "nodeType": "ArrayTypeName", - "src": "1629:24:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AttestationRequestData_$1680_storage_$dyn_storage_ptr", - "typeString": "struct AttestationRequestData[]" - } - }, - "visibility": "internal" - } - ], - "name": "MultiAttestationRequest", - "nameLocation": "1539:23:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "1532:174:6", - "visibility": "public" - }, - { - "canonicalName": "MultiDelegatedAttestationRequest", - "documentation": { - "id": 1710, - "nodeType": "StructuredDocumentation", - "src": "1708:97:6", - "text": "@notice A struct representing the full arguments of the delegated multi attestation request." - }, - "id": 1725, - "members": [ - { - "constant": false, - "id": 1712, - "mutability": "mutable", - "name": "schema", - "nameLocation": "1859:6:6", - "nodeType": "VariableDeclaration", - "scope": 1725, - "src": "1851:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1711, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1851:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1716, - "mutability": "mutable", - "name": "data", - "nameLocation": "1936:4:6", - "nodeType": "VariableDeclaration", - "scope": 1725, - "src": "1911:29:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AttestationRequestData_$1680_storage_$dyn_storage_ptr", - "typeString": "struct AttestationRequestData[]" - }, - "typeName": { - "baseType": { - "id": 1714, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1713, - "name": "AttestationRequestData", - "nameLocations": [ - "1911:22:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1680, - "src": "1911:22:6" - }, - "referencedDeclaration": 1680, - "src": "1911:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AttestationRequestData_$1680_storage_ptr", - "typeString": "struct AttestationRequestData" - } - }, - "id": 1715, - "nodeType": "ArrayTypeName", - "src": "1911:24:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_AttestationRequestData_$1680_storage_$dyn_storage_ptr", - "typeString": "struct AttestationRequestData[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1720, - "mutability": "mutable", - "name": "signatures", - "nameLocation": "2004:10:6", - "nodeType": "VariableDeclaration", - "scope": 1725, - "src": "1992:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Signature_$1619_storage_$dyn_storage_ptr", - "typeString": "struct Signature[]" - }, - "typeName": { - "baseType": { - "id": 1718, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1717, - "name": "Signature", - "nameLocations": [ - "1992:9:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1619, - "src": "1992:9:6" - }, - "referencedDeclaration": 1619, - "src": "1992:9:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", - "typeString": "struct Signature" - } - }, - "id": 1719, - "nodeType": "ArrayTypeName", - "src": "1992:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Signature_$1619_storage_$dyn_storage_ptr", - "typeString": "struct Signature[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1722, - "mutability": "mutable", - "name": "attester", - "nameLocation": "2139:8:6", - "nodeType": "VariableDeclaration", - "scope": 1725, - "src": "2131:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1721, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2131:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1724, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "2186:8:6", - "nodeType": "VariableDeclaration", - "scope": 1725, - "src": "2179:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1723, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "2179:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "MultiDelegatedAttestationRequest", - "nameLocation": "1812:32:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "1805:434:6", - "visibility": "public" - }, - { - "canonicalName": "RevocationRequestData", - "documentation": { - "id": 1726, - "nodeType": "StructuredDocumentation", - "src": "2241:75:6", - "text": "@notice A struct representing the arguments of the revocation request." - }, - "id": 1731, - "members": [ - { - "constant": false, - "id": 1728, - "mutability": "mutable", - "name": "uid", - "nameLocation": "2359:3:6", - "nodeType": "VariableDeclaration", - "scope": 1731, - "src": "2351:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1727, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2351:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1730, - "mutability": "mutable", - "name": "value", - "nameLocation": "2417:5:6", - "nodeType": "VariableDeclaration", - "scope": 1731, - "src": "2409:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2409:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "RevocationRequestData", - "nameLocation": "2323:21:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "2316:213:6", - "visibility": "public" - }, - { - "canonicalName": "RevocationRequest", - "documentation": { - "id": 1732, - "nodeType": "StructuredDocumentation", - "src": "2531:80:6", - "text": "@notice A struct representing the full arguments of the revocation request." - }, - "id": 1738, - "members": [ - { - "constant": false, - "id": 1734, - "mutability": "mutable", - "name": "schema", - "nameLocation": "2650:6:6", - "nodeType": "VariableDeclaration", - "scope": 1738, - "src": "2642:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1733, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2642:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1737, - "mutability": "mutable", - "name": "data", - "nameLocation": "2724:4:6", - "nodeType": "VariableDeclaration", - "scope": 1738, - "src": "2702:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", - "typeString": "struct RevocationRequestData" - }, - "typeName": { - "id": 1736, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1735, - "name": "RevocationRequestData", - "nameLocations": [ - "2702:21:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1731, - "src": "2702:21:6" - }, - "referencedDeclaration": 1731, - "src": "2702:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", - "typeString": "struct RevocationRequestData" - } - }, - "visibility": "internal" - } - ], - "name": "RevocationRequest", - "nameLocation": "2618:17:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "2611:164:6", - "visibility": "public" - }, - { - "canonicalName": "DelegatedRevocationRequest", - "documentation": { - "id": 1739, - "nodeType": "StructuredDocumentation", - "src": "2777:90:6", - "text": "@notice A struct representing the arguments of the full delegated revocation request." - }, - "id": 1752, - "members": [ - { - "constant": false, - "id": 1741, - "mutability": "mutable", - "name": "schema", - "nameLocation": "2915:6:6", - "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "2907:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1740, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2907:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1744, - "mutability": "mutable", - "name": "data", - "nameLocation": "2989:4:6", - "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "2967:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", - "typeString": "struct RevocationRequestData" - }, - "typeName": { - "id": 1743, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1742, - "name": "RevocationRequestData", - "nameLocations": [ - "2967:21:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1731, - "src": "2967:21:6" - }, - "referencedDeclaration": 1731, - "src": "2967:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", - "typeString": "struct RevocationRequestData" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1747, - "mutability": "mutable", - "name": "signature", - "nameLocation": "3053:9:6", - "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "3043:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", - "typeString": "struct Signature" - }, - "typeName": { - "id": 1746, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1745, - "name": "Signature", - "nameLocations": [ - "3043:9:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1619, - "src": "3043:9:6" - }, - "referencedDeclaration": 1619, - "src": "3043:9:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", - "typeString": "struct Signature" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1749, - "mutability": "mutable", - "name": "revoker", - "nameLocation": "3105:7:6", - "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "3097:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3097:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1751, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "3150:8:6", - "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "3143:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1750, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3143:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "DelegatedRevocationRequest", - "nameLocation": "2874:26:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "2867:336:6", - "visibility": "public" - }, - { - "canonicalName": "MultiRevocationRequest", - "documentation": { - "id": 1753, - "nodeType": "StructuredDocumentation", - "src": "3205:86:6", - "text": "@notice A struct representing the full arguments of the multi revocation request." - }, - "id": 1760, - "members": [ - { - "constant": false, - "id": 1755, - "mutability": "mutable", - "name": "schema", - "nameLocation": "3335:6:6", - "nodeType": "VariableDeclaration", - "scope": 1760, - "src": "3327:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1754, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3327:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1759, - "mutability": "mutable", - "name": "data", - "nameLocation": "3411:4:6", - "nodeType": "VariableDeclaration", - "scope": 1760, - "src": "3387:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RevocationRequestData_$1731_storage_$dyn_storage_ptr", - "typeString": "struct RevocationRequestData[]" - }, - "typeName": { - "baseType": { - "id": 1757, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1756, - "name": "RevocationRequestData", - "nameLocations": [ - "3387:21:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1731, - "src": "3387:21:6" - }, - "referencedDeclaration": 1731, - "src": "3387:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", - "typeString": "struct RevocationRequestData" - } - }, - "id": 1758, - "nodeType": "ArrayTypeName", - "src": "3387:23:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RevocationRequestData_$1731_storage_$dyn_storage_ptr", - "typeString": "struct RevocationRequestData[]" - } - }, - "visibility": "internal" - } - ], - "name": "MultiRevocationRequest", - "nameLocation": "3298:22:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "3291:171:6", - "visibility": "public" - }, - { - "canonicalName": "MultiDelegatedRevocationRequest", - "documentation": { - "id": 1761, - "nodeType": "StructuredDocumentation", - "src": "3464:96:6", - "text": "@notice A struct representing the full arguments of the delegated multi revocation request." - }, - "id": 1776, - "members": [ - { - "constant": false, - "id": 1763, - "mutability": "mutable", - "name": "schema", - "nameLocation": "3613:6:6", - "nodeType": "VariableDeclaration", - "scope": 1776, - "src": "3605:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1762, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3605:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1767, - "mutability": "mutable", - "name": "data", - "nameLocation": "3689:4:6", - "nodeType": "VariableDeclaration", - "scope": 1776, - "src": "3665:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RevocationRequestData_$1731_storage_$dyn_storage_ptr", - "typeString": "struct RevocationRequestData[]" - }, - "typeName": { - "baseType": { - "id": 1765, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1764, - "name": "RevocationRequestData", - "nameLocations": [ - "3665:21:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1731, - "src": "3665:21:6" - }, - "referencedDeclaration": 1731, - "src": "3665:21:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RevocationRequestData_$1731_storage_ptr", - "typeString": "struct RevocationRequestData" - } - }, - "id": 1766, - "nodeType": "ArrayTypeName", - "src": "3665:23:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RevocationRequestData_$1731_storage_$dyn_storage_ptr", - "typeString": "struct RevocationRequestData[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1771, - "mutability": "mutable", - "name": "signatures", - "nameLocation": "3756:10:6", - "nodeType": "VariableDeclaration", - "scope": 1776, - "src": "3744:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Signature_$1619_storage_$dyn_storage_ptr", - "typeString": "struct Signature[]" - }, - "typeName": { - "baseType": { - "id": 1769, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1768, - "name": "Signature", - "nameLocations": [ - "3744:9:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1619, - "src": "3744:9:6" - }, - "referencedDeclaration": 1619, - "src": "3744:9:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Signature_$1619_storage_ptr", - "typeString": "struct Signature" - } - }, - "id": 1770, - "nodeType": "ArrayTypeName", - "src": "3744:11:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Signature_$1619_storage_$dyn_storage_ptr", - "typeString": "struct Signature[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1773, - "mutability": "mutable", - "name": "revoker", - "nameLocation": "3891:7:6", - "nodeType": "VariableDeclaration", - "scope": 1776, - "src": "3883:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3883:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1775, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "3936:8:6", - "nodeType": "VariableDeclaration", - "scope": 1776, - "src": "3929:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1774, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "3929:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "name": "MultiDelegatedRevocationRequest", - "nameLocation": "3567:31:6", - "nodeType": "StructDefinition", - "scope": 1965, - "src": "3560:429:6", - "visibility": "public" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1778, - "name": "ISemver", - "nameLocations": [ - "4083:7:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2087, - "src": "4083:7:6" - }, - "id": 1779, - "nodeType": "InheritanceSpecifier", - "src": "4083:7:6" - } - ], - "canonicalName": "IEAS", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1777, - "nodeType": "StructuredDocumentation", - "src": "3991:74:6", - "text": "@title IEAS\n @notice EAS - Ethereum Attestation Service interface." - }, - "fullyImplemented": false, - "id": 1964, - "linearizedBaseContracts": [ - 1964, - 2087 - ], - "name": "IEAS", - "nameLocation": "4075:4:6", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 1780, - "nodeType": "StructuredDocumentation", - "src": "4097:259:6", - "text": "@notice Emitted when an attestation has been made.\n @param recipient The recipient of the attestation.\n @param attester The attesting account.\n @param uid The UID of the new attestation.\n @param schemaUID The UID of the schema." - }, - "eventSelector": "8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35", - "id": 1790, - "name": "Attested", - "nameLocation": "4367:8:6", - "nodeType": "EventDefinition", - "parameters": { - "id": 1789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1782, - "indexed": true, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "4392:9:6", - "nodeType": "VariableDeclaration", - "scope": 1790, - "src": "4376:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1781, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4376:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1784, - "indexed": true, - "mutability": "mutable", - "name": "attester", - "nameLocation": "4419:8:6", - "nodeType": "VariableDeclaration", - "scope": 1790, - "src": "4403:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1783, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4403:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1786, - "indexed": false, - "mutability": "mutable", - "name": "uid", - "nameLocation": "4437:3:6", - "nodeType": "VariableDeclaration", - "scope": 1790, - "src": "4429:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1785, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4429:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1788, - "indexed": true, - "mutability": "mutable", - "name": "schemaUID", - "nameLocation": "4458:9:6", - "nodeType": "VariableDeclaration", - "scope": 1790, - "src": "4442:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1787, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4442:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4375:93:6" - }, - "src": "4361:108:6" - }, - { - "anonymous": false, - "documentation": { - "id": 1791, - "nodeType": "StructuredDocumentation", - "src": "4475:263:6", - "text": "@notice Emitted when an attestation has been revoked.\n @param recipient The recipient of the attestation.\n @param attester The attesting account.\n @param schemaUID The UID of the schema.\n @param uid The UID the revoked attestation." - }, - "eventSelector": "f930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f615", - "id": 1801, - "name": "Revoked", - "nameLocation": "4749:7:6", - "nodeType": "EventDefinition", - "parameters": { - "id": 1800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1793, - "indexed": true, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "4773:9:6", - "nodeType": "VariableDeclaration", - "scope": 1801, - "src": "4757:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1792, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4757:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1795, - "indexed": true, - "mutability": "mutable", - "name": "attester", - "nameLocation": "4800:8:6", - "nodeType": "VariableDeclaration", - "scope": 1801, - "src": "4784:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1794, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4784:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1797, - "indexed": false, - "mutability": "mutable", - "name": "uid", - "nameLocation": "4818:3:6", - "nodeType": "VariableDeclaration", - "scope": 1801, - "src": "4810:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1796, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4810:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1799, - "indexed": true, - "mutability": "mutable", - "name": "schemaUID", - "nameLocation": "4839:9:6", - "nodeType": "VariableDeclaration", - "scope": 1801, - "src": "4823:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1798, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4823:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4756:93:6" - }, - "src": "4743:107:6" - }, - { - "anonymous": false, - "documentation": { - "id": 1802, - "nodeType": "StructuredDocumentation", - "src": "4856:123:6", - "text": "@notice Emitted when a data has been timestamped.\n @param data The data.\n @param timestamp The timestamp." - }, - "eventSelector": "5aafceeb1c7ad58e4a84898bdee37c02c0fc46e7d24e6b60e8209449f183459f", - "id": 1808, - "name": "Timestamped", - "nameLocation": "4990:11:6", - "nodeType": "EventDefinition", - "parameters": { - "id": 1807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1804, - "indexed": true, - "mutability": "mutable", - "name": "data", - "nameLocation": "5018:4:6", - "nodeType": "VariableDeclaration", - "scope": 1808, - "src": "5002:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1803, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5002:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1806, - "indexed": true, - "mutability": "mutable", - "name": "timestamp", - "nameLocation": "5039:9:6", - "nodeType": "VariableDeclaration", - "scope": 1808, - "src": "5024:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1805, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5024:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "5001:48:6" - }, - "src": "4984:66:6" - }, - { - "anonymous": false, - "documentation": { - "id": 1809, - "nodeType": "StructuredDocumentation", - "src": "5056:170:6", - "text": "@notice Emitted when a data has been revoked.\n @param revoker The address of the revoker.\n @param data The data.\n @param timestamp The timestamp." - }, - "eventSelector": "92a1f7a41a7c585a8b09e25b195e225b1d43248daca46b0faf9e0792777a2229", - "id": 1817, - "name": "RevokedOffchain", - "nameLocation": "5237:15:6", - "nodeType": "EventDefinition", - "parameters": { - "id": 1816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1811, - "indexed": true, - "mutability": "mutable", - "name": "revoker", - "nameLocation": "5269:7:6", - "nodeType": "VariableDeclaration", - "scope": 1817, - "src": "5253:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5253:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1813, - "indexed": true, - "mutability": "mutable", - "name": "data", - "nameLocation": "5294:4:6", - "nodeType": "VariableDeclaration", - "scope": 1817, - "src": "5278:20:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1812, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5278:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1815, - "indexed": true, - "mutability": "mutable", - "name": "timestamp", - "nameLocation": "5315:9:6", - "nodeType": "VariableDeclaration", - "scope": 1817, - "src": "5300:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1814, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "5300:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "5252:73:6" - }, - "src": "5231:95:6" - }, - { - "documentation": { - "id": 1818, - "nodeType": "StructuredDocumentation", - "src": "5332:121:6", - "text": "@notice Returns the address of the global schema registry.\n @return The address of the global schema registry." - }, - "functionSelector": "f10b5cc8", - "id": 1824, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getSchemaRegistry", - "nameLocation": "5467:17:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1819, - "nodeType": "ParameterList", - "parameters": [], - "src": "5484:2:6" - }, - "returnParameters": { - "id": 1823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1822, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1824, - "src": "5510:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISchemaRegistry_$2017", - "typeString": "contract ISchemaRegistry" - }, - "typeName": { - "id": 1821, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1820, - "name": "ISchemaRegistry", - "nameLocations": [ - "5510:15:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2017, - "src": "5510:15:6" - }, - "referencedDeclaration": 2017, - "src": "5510:15:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISchemaRegistry_$2017", - "typeString": "contract ISchemaRegistry" - } - }, - "visibility": "internal" - } - ], - "src": "5509:17:6" - }, - "scope": 1964, - "src": "5458:69:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1825, - "nodeType": "StructuredDocumentation", - "src": "5533:665:6", - "text": "@notice Attests to a specific schema.\n @param request The arguments of the attestation request.\n @return The UID of the new attestation.\n Example:\n attest({\n schema: \"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\",\n data: {\n recipient: \"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\",\n expirationTime: 0,\n revocable: true,\n refUID: \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n data: \"0xF00D\",\n value: 0\n }\n })" - }, - "functionSelector": "f17325e7", - "id": 1833, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "attest", - "nameLocation": "6212:6:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1828, - "mutability": "mutable", - "name": "request", - "nameLocation": "6247:7:6", - "nodeType": "VariableDeclaration", - "scope": 1833, - "src": "6219:35:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AttestationRequest_$1687_calldata_ptr", - "typeString": "struct AttestationRequest" - }, - "typeName": { - "id": 1827, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1826, - "name": "AttestationRequest", - "nameLocations": [ - "6219:18:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1687, - "src": "6219:18:6" - }, - "referencedDeclaration": 1687, - "src": "6219:18:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AttestationRequest_$1687_storage_ptr", - "typeString": "struct AttestationRequest" - } - }, - "visibility": "internal" - } - ], - "src": "6218:37:6" - }, - "returnParameters": { - "id": 1832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1831, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1833, - "src": "6282:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1830, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6282:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "6281:9:6" - }, - "scope": 1964, - "src": "6203:88:6", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1834, - "nodeType": "StructuredDocumentation", - "src": "6297:1004:6", - "text": "@notice Attests to a specific schema via the provided ECDSA signature.\n @param delegatedRequest The arguments of the delegated attestation request.\n @return The UID of the new attestation.\n Example:\n attestByDelegation({\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: {\n recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n expirationTime: 1673891048,\n revocable: true,\n refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n data: '0x1234',\n value: 0\n },\n signature: {\n v: 28,\n r: '0x148c...b25b',\n s: '0x5a72...be22'\n },\n attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e',\n deadline: 1673891048\n })" - }, - "functionSelector": "3c042715", - "id": 1842, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "attestByDelegation", - "nameLocation": "7315:18:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1837, - "mutability": "mutable", - "name": "delegatedRequest", - "nameLocation": "7380:16:6", - "nodeType": "VariableDeclaration", - "scope": 1842, - "src": "7343:53:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DelegatedAttestationRequest_$1701_calldata_ptr", - "typeString": "struct DelegatedAttestationRequest" - }, - "typeName": { - "id": 1836, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1835, - "name": "DelegatedAttestationRequest", - "nameLocations": [ - "7343:27:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1701, - "src": "7343:27:6" - }, - "referencedDeclaration": 1701, - "src": "7343:27:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DelegatedAttestationRequest_$1701_storage_ptr", - "typeString": "struct DelegatedAttestationRequest" - } - }, - "visibility": "internal" - } - ], - "src": "7333:69:6" - }, - "returnParameters": { - "id": 1841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1840, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1842, - "src": "7429:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1839, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7429:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7428:9:6" - }, - "scope": 1964, - "src": "7306:132:6", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1843, - "nodeType": "StructuredDocumentation", - "src": "7444:1656:6", - "text": "@notice Attests to multiple schemas.\n @param multiRequests The arguments of the multi attestation requests. The requests should be grouped by distinct\n schema ids to benefit from the best batching optimization.\n @return The UIDs of the new attestations.\n Example:\n multiAttest([{\n schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd',\n data: [{\n recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n expirationTime: 1673891048,\n revocable: true,\n refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n data: '0x1234',\n value: 1000\n },\n {\n recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n expirationTime: 0,\n revocable: false,\n refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174',\n data: '0x00',\n value: 0\n }],\n },\n {\n schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',\n data: [{\n recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n expirationTime: 0,\n revocable: true,\n refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f',\n data: '0x12345678',\n value: 0\n },\n }])" - }, - "functionSelector": "44adc90e", - "id": 1853, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "multiAttest", - "nameLocation": "9114:11:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1847, - "mutability": "mutable", - "name": "multiRequests", - "nameLocation": "9161:13:6", - "nodeType": "VariableDeclaration", - "scope": 1853, - "src": "9126:48:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MultiAttestationRequest_$1709_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct MultiAttestationRequest[]" - }, - "typeName": { - "baseType": { - "id": 1845, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1844, - "name": "MultiAttestationRequest", - "nameLocations": [ - "9126:23:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1709, - "src": "9126:23:6" - }, - "referencedDeclaration": 1709, - "src": "9126:23:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiAttestationRequest_$1709_storage_ptr", - "typeString": "struct MultiAttestationRequest" - } - }, - "id": 1846, - "nodeType": "ArrayTypeName", - "src": "9126:25:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MultiAttestationRequest_$1709_storage_$dyn_storage_ptr", - "typeString": "struct MultiAttestationRequest[]" - } - }, - "visibility": "internal" - } - ], - "src": "9125:50:6" - }, - "returnParameters": { - "id": 1852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1851, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1853, - "src": "9202:16:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 1849, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9202:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 1850, - "nodeType": "ArrayTypeName", - "src": "9202:9:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - } - ], - "src": "9201:18:6" - }, - "scope": 1964, - "src": "9105:115:6", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1854, - "nodeType": "StructuredDocumentation", - "src": "9226:1642:6", - "text": "@notice Attests to multiple schemas using via provided ECDSA signatures.\n @param multiDelegatedRequests The arguments of the delegated multi attestation requests. The requests should be\n grouped by distinct schema ids to benefit from the best batching optimization.\n @return The UIDs of the new attestations.\n Example:\n multiAttestByDelegation([{\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: [{\n recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',\n expirationTime: 1673891048,\n revocable: true,\n refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n data: '0x1234',\n value: 0\n },\n {\n recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',\n expirationTime: 0,\n revocable: false,\n refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',\n data: '0x00',\n value: 0\n }],\n signatures: [{\n v: 28,\n r: '0x148c...b25b',\n s: '0x5a72...be22'\n },\n {\n v: 28,\n r: '0x487s...67bb',\n s: '0x12ad...2366'\n }],\n attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4',\n deadline: 1673891048\n }])" - }, - "functionSelector": "95411525", - "id": 1864, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "multiAttestByDelegation", - "nameLocation": "10882:23:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1858, - "mutability": "mutable", - "name": "multiDelegatedRequests", - "nameLocation": "10959:22:6", - "nodeType": "VariableDeclaration", - "scope": 1864, - "src": "10915:66:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MultiDelegatedAttestationRequest_$1725_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct MultiDelegatedAttestationRequest[]" - }, - "typeName": { - "baseType": { - "id": 1856, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1855, - "name": "MultiDelegatedAttestationRequest", - "nameLocations": [ - "10915:32:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1725, - "src": "10915:32:6" - }, - "referencedDeclaration": 1725, - "src": "10915:32:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiDelegatedAttestationRequest_$1725_storage_ptr", - "typeString": "struct MultiDelegatedAttestationRequest" - } - }, - "id": 1857, - "nodeType": "ArrayTypeName", - "src": "10915:34:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MultiDelegatedAttestationRequest_$1725_storage_$dyn_storage_ptr", - "typeString": "struct MultiDelegatedAttestationRequest[]" - } - }, - "visibility": "internal" - } - ], - "src": "10905:82:6" - }, - "returnParameters": { - "id": 1863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1862, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1864, - "src": "11014:16:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 1860, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11014:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 1861, - "nodeType": "ArrayTypeName", - "src": "11014:9:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - } - ], - "src": "11013:18:6" - }, - "scope": 1964, - "src": "10873:159:6", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1865, - "nodeType": "StructuredDocumentation", - "src": "11038:450:6", - "text": "@notice Revokes an existing attestation to a specific schema.\n @param request The arguments of the revocation request.\n Example:\n revoke({\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: {\n uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d',\n value: 0\n }\n })" - }, - "functionSelector": "46926267", - "id": 1871, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revoke", - "nameLocation": "11502:6:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1868, - "mutability": "mutable", - "name": "request", - "nameLocation": "11536:7:6", - "nodeType": "VariableDeclaration", - "scope": 1871, - "src": "11509:34:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RevocationRequest_$1738_calldata_ptr", - "typeString": "struct RevocationRequest" - }, - "typeName": { - "id": 1867, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1866, - "name": "RevocationRequest", - "nameLocations": [ - "11509:17:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1738, - "src": "11509:17:6" - }, - "referencedDeclaration": 1738, - "src": "11509:17:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RevocationRequest_$1738_storage_ptr", - "typeString": "struct RevocationRequest" - } - }, - "visibility": "internal" - } - ], - "src": "11508:36:6" - }, - "returnParameters": { - "id": 1870, - "nodeType": "ParameterList", - "parameters": [], - "src": "11561:0:6" - }, - "scope": 1964, - "src": "11493:69:6", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1872, - "nodeType": "StructuredDocumentation", - "src": "11568:777:6", - "text": "@notice Revokes an existing attestation to a specific schema via the provided ECDSA signature.\n @param delegatedRequest The arguments of the delegated revocation request.\n Example:\n revokeByDelegation({\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: {\n uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba',\n value: 0\n },\n signature: {\n v: 27,\n r: '0xb593...7142',\n s: '0x0f5b...2cce'\n },\n revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',\n deadline: 1673891048\n })" - }, - "functionSelector": "a6d4dbc7", - "id": 1878, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeByDelegation", - "nameLocation": "12359:18:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1875, - "mutability": "mutable", - "name": "delegatedRequest", - "nameLocation": "12414:16:6", - "nodeType": "VariableDeclaration", - "scope": 1878, - "src": "12378:52:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DelegatedRevocationRequest_$1752_calldata_ptr", - "typeString": "struct DelegatedRevocationRequest" - }, - "typeName": { - "id": 1874, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1873, - "name": "DelegatedRevocationRequest", - "nameLocations": [ - "12378:26:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1752, - "src": "12378:26:6" - }, - "referencedDeclaration": 1752, - "src": "12378:26:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DelegatedRevocationRequest_$1752_storage_ptr", - "typeString": "struct DelegatedRevocationRequest" - } - }, - "visibility": "internal" - } - ], - "src": "12377:54:6" - }, - "returnParameters": { - "id": 1877, - "nodeType": "ParameterList", - "parameters": [], - "src": "12448:0:6" - }, - "scope": 1964, - "src": "12350:99:6", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1879, - "nodeType": "StructuredDocumentation", - "src": "12455:1039:6", - "text": "@notice Revokes existing attestations to multiple schemas.\n @param multiRequests The arguments of the multi revocation requests. The requests should be grouped by distinct\n schema ids to benefit from the best batching optimization.\n Example:\n multiRevoke([{\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: [{\n uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',\n value: 1000\n },\n {\n uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',\n value: 0\n }],\n },\n {\n schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',\n data: [{\n uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019',\n value: 0\n },\n }])" - }, - "functionSelector": "4cb7e9e5", - "id": 1886, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "multiRevoke", - "nameLocation": "13508:11:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1883, - "mutability": "mutable", - "name": "multiRequests", - "nameLocation": "13554:13:6", - "nodeType": "VariableDeclaration", - "scope": 1886, - "src": "13520:47:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MultiRevocationRequest_$1760_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct MultiRevocationRequest[]" - }, - "typeName": { - "baseType": { - "id": 1881, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1880, - "name": "MultiRevocationRequest", - "nameLocations": [ - "13520:22:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1760, - "src": "13520:22:6" - }, - "referencedDeclaration": 1760, - "src": "13520:22:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiRevocationRequest_$1760_storage_ptr", - "typeString": "struct MultiRevocationRequest" - } - }, - "id": 1882, - "nodeType": "ArrayTypeName", - "src": "13520:24:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MultiRevocationRequest_$1760_storage_$dyn_storage_ptr", - "typeString": "struct MultiRevocationRequest[]" - } - }, - "visibility": "internal" - } - ], - "src": "13519:49:6" - }, - "returnParameters": { - "id": 1885, - "nodeType": "ParameterList", - "parameters": [], - "src": "13585:0:6" - }, - "scope": 1964, - "src": "13499:87:6", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1887, - "nodeType": "StructuredDocumentation", - "src": "13592:1229:6", - "text": "@notice Revokes existing attestations to multiple schemas via provided ECDSA signatures.\n @param multiDelegatedRequests The arguments of the delegated multi revocation attestation requests. The requests\n should be grouped by distinct schema ids to benefit from the best batching optimization.\n Example:\n multiRevokeByDelegation([{\n schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',\n data: [{\n uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',\n value: 1000\n },\n {\n uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',\n value: 0\n }],\n signatures: [{\n v: 28,\n r: '0x148c...b25b',\n s: '0x5a72...be22'\n },\n {\n v: 28,\n r: '0x487s...67bb',\n s: '0x12ad...2366'\n }],\n revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',\n deadline: 1673891048\n }])" - }, - "functionSelector": "0eabf660", - "id": 1894, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "multiRevokeByDelegation", - "nameLocation": "14835:23:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1891, - "mutability": "mutable", - "name": "multiDelegatedRequests", - "nameLocation": "14911:22:6", - "nodeType": "VariableDeclaration", - "scope": 1894, - "src": "14868:65:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MultiDelegatedRevocationRequest_$1776_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct MultiDelegatedRevocationRequest[]" - }, - "typeName": { - "baseType": { - "id": 1889, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1888, - "name": "MultiDelegatedRevocationRequest", - "nameLocations": [ - "14868:31:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1776, - "src": "14868:31:6" - }, - "referencedDeclaration": 1776, - "src": "14868:31:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiDelegatedRevocationRequest_$1776_storage_ptr", - "typeString": "struct MultiDelegatedRevocationRequest" - } - }, - "id": 1890, - "nodeType": "ArrayTypeName", - "src": "14868:33:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MultiDelegatedRevocationRequest_$1776_storage_$dyn_storage_ptr", - "typeString": "struct MultiDelegatedRevocationRequest[]" - } - }, - "visibility": "internal" - } - ], - "src": "14858:81:6" - }, - "returnParameters": { - "id": 1893, - "nodeType": "ParameterList", - "parameters": [], - "src": "14956:0:6" - }, - "scope": 1964, - "src": "14826:131:6", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1895, - "nodeType": "StructuredDocumentation", - "src": "14963:154:6", - "text": "@notice Timestamps the specified bytes32 data.\n @param data The data to timestamp.\n @return The timestamp the data was timestamped with." - }, - "functionSelector": "4d003070", - "id": 1902, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "timestamp", - "nameLocation": "15131:9:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1897, - "mutability": "mutable", - "name": "data", - "nameLocation": "15149:4:6", - "nodeType": "VariableDeclaration", - "scope": 1902, - "src": "15141:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1896, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15141:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "15140:14:6" - }, - "returnParameters": { - "id": 1901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1900, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1902, - "src": "15173:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1899, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "15173:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "15172:8:6" - }, - "scope": 1964, - "src": "15122:59:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1903, - "nodeType": "StructuredDocumentation", - "src": "15187:163:6", - "text": "@notice Timestamps the specified multiple bytes32 data.\n @param data The data to timestamp.\n @return The timestamp the data was timestamped with." - }, - "functionSelector": "e71ff365", - "id": 1911, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "multiTimestamp", - "nameLocation": "15364:14:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1906, - "mutability": "mutable", - "name": "data", - "nameLocation": "15398:4:6", - "nodeType": "VariableDeclaration", - "scope": 1911, - "src": "15379:23:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 1904, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15379:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 1905, - "nodeType": "ArrayTypeName", - "src": "15379:9:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - } - ], - "src": "15378:25:6" - }, - "returnParameters": { - "id": 1910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1909, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1911, - "src": "15422:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1908, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "15422:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "15421:8:6" - }, - "scope": 1964, - "src": "15355:75:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1912, - "nodeType": "StructuredDocumentation", - "src": "15436:147:6", - "text": "@notice Revokes the specified bytes32 data.\n @param data The data to timestamp.\n @return The timestamp the data was revoked with." - }, - "functionSelector": "cf190f34", - "id": 1919, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeOffchain", - "nameLocation": "15597:14:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1915, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1914, - "mutability": "mutable", - "name": "data", - "nameLocation": "15620:4:6", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "15612:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1913, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15612:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "15611:14:6" - }, - "returnParameters": { - "id": 1918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1917, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "15644:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1916, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "15644:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "15643:8:6" - }, - "scope": 1964, - "src": "15588:64:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1920, - "nodeType": "StructuredDocumentation", - "src": "15658:156:6", - "text": "@notice Revokes the specified multiple bytes32 data.\n @param data The data to timestamp.\n @return The timestamp the data was revoked with." - }, - "functionSelector": "13893f61", - "id": 1928, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "multiRevokeOffchain", - "nameLocation": "15828:19:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1923, - "mutability": "mutable", - "name": "data", - "nameLocation": "15867:4:6", - "nodeType": "VariableDeclaration", - "scope": 1928, - "src": "15848:23:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 1921, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15848:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 1922, - "nodeType": "ArrayTypeName", - "src": "15848:9:6", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - } - ], - "src": "15847:25:6" - }, - "returnParameters": { - "id": 1927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1926, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1928, - "src": "15891:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1925, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "15891:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "15890:8:6" - }, - "scope": 1964, - "src": "15819:80:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1929, - "nodeType": "StructuredDocumentation", - "src": "15905:156:6", - "text": "@notice Returns an existing attestation by UID.\n @param uid The UID of the attestation to retrieve.\n @return The attestation data members." - }, - "functionSelector": "a3112a64", - "id": 1937, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getAttestation", - "nameLocation": "16075:14:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1932, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1931, - "mutability": "mutable", - "name": "uid", - "nameLocation": "16098:3:6", - "nodeType": "VariableDeclaration", - "scope": 1937, - "src": "16090:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1930, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16090:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16089:13:6" - }, - "returnParameters": { - "id": 1936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1935, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1937, - "src": "16126:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_memory_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 1934, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1933, - "name": "Attestation", - "nameLocations": [ - "16126:11:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "16126:11:6" - }, - "referencedDeclaration": 1641, - "src": "16126:11:6", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - } - ], - "src": "16125:20:6" - }, - "scope": 1964, - "src": "16066:80:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1938, - "nodeType": "StructuredDocumentation", - "src": "16152:155:6", - "text": "@notice Checks whether an attestation exists.\n @param uid The UID of the attestation to retrieve.\n @return Whether an attestation exists." - }, - "functionSelector": "e30bb563", - "id": 1945, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isAttestationValid", - "nameLocation": "16321:18:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1941, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1940, - "mutability": "mutable", - "name": "uid", - "nameLocation": "16348:3:6", - "nodeType": "VariableDeclaration", - "scope": 1945, - "src": "16340:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1939, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16340:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16339:13:6" - }, - "returnParameters": { - "id": 1944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1943, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1945, - "src": "16376:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1942, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16376:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "16375:6:6" - }, - "scope": 1964, - "src": "16312:70:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1946, - "nodeType": "StructuredDocumentation", - "src": "16388:179:6", - "text": "@notice Returns the timestamp that the specified data was timestamped with.\n @param data The data to query.\n @return The timestamp the data was timestamped with." - }, - "functionSelector": "d45c4435", - "id": 1953, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getTimestamp", - "nameLocation": "16581:12:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1949, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1948, - "mutability": "mutable", - "name": "data", - "nameLocation": "16602:4:6", - "nodeType": "VariableDeclaration", - "scope": 1953, - "src": "16594:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1947, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16594:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16593:14:6" - }, - "returnParameters": { - "id": 1952, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1951, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1953, - "src": "16631:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1950, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "16631:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "16630:8:6" - }, - "scope": 1964, - "src": "16572:67:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1954, - "nodeType": "StructuredDocumentation", - "src": "16645:179:6", - "text": "@notice Returns the timestamp that the specified data was timestamped with.\n @param data The data to query.\n @return The timestamp the data was timestamped with." - }, - "functionSelector": "b469318d", - "id": 1963, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRevokeOffchain", - "nameLocation": "16838:17:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1959, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1956, - "mutability": "mutable", - "name": "revoker", - "nameLocation": "16864:7:6", - "nodeType": "VariableDeclaration", - "scope": 1963, - "src": "16856:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1955, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16856:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1958, - "mutability": "mutable", - "name": "data", - "nameLocation": "16881:4:6", - "nodeType": "VariableDeclaration", - "scope": 1963, - "src": "16873:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1957, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16873:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16855:31:6" - }, - "returnParameters": { - "id": 1962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1961, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1963, - "src": "16910:6:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 1960, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "16910:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "16909:8:6" - }, - "scope": 1964, - "src": "16829:89:6", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1965, - "src": "4065:12855:6", - "usedErrors": [], - "usedEvents": [ - 1790, - 1801, - 1808, - 1817 - ] - } - ], - "src": "33:16887:6" - }, - "id": 6 - }, - "EAS/ISchemaRegistry.sol": { - "ast": { - "absolutePath": "EAS/ISchemaRegistry.sol", - "exportedSymbols": { - "ISchemaRegistry": [ - 2017 - ], - "ISchemaResolver": [ - 2077 - ], - "ISemver": [ - 2087 - ], - "SchemaRecord": [ - 1981 - ] - }, - "id": 2018, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1966, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:7" - }, - { - "absolutePath": "EAS/ISemver.sol", - "file": "./ISemver.sol", - "id": 1968, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2018, - "sourceUnit": 2088, - "src": "58:40:7", - "symbolAliases": [ - { - "foreign": { - "id": 1967, - "name": "ISemver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "67:7:7", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/ISchemaResolver.sol", - "file": "./ISchemaResolver.sol", - "id": 1970, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2018, - "sourceUnit": 2078, - "src": "100:56:7", - "symbolAliases": [ - { - "foreign": { - "id": 1969, - "name": "ISchemaResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2077, - "src": "109:15:7", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "canonicalName": "SchemaRecord", - "documentation": { - "id": 1971, - "nodeType": "StructuredDocumentation", - "src": "158:67:7", - "text": "@notice A struct representing a record for a submitted schema." - }, - "id": 1981, - "members": [ - { - "constant": false, - "id": 1973, - "mutability": "mutable", - "name": "uid", - "nameLocation": "259:3:7", - "nodeType": "VariableDeclaration", - "scope": 1981, - "src": "251:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1972, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "251:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1976, - "mutability": "mutable", - "name": "resolver", - "nameLocation": "324:8:7", - "nodeType": "VariableDeclaration", - "scope": 1981, - "src": "308:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISchemaResolver_$2077", - "typeString": "contract ISchemaResolver" - }, - "typeName": { - "id": 1975, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1974, - "name": "ISchemaResolver", - "nameLocations": [ - "308:15:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2077, - "src": "308:15:7" - }, - "referencedDeclaration": 2077, - "src": "308:15:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISchemaResolver_$2077", - "typeString": "contract ISchemaResolver" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1978, - "mutability": "mutable", - "name": "revocable", - "nameLocation": "372:9:7", - "nodeType": "VariableDeclaration", - "scope": 1981, - "src": "367:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1977, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "367:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1980, - "mutability": "mutable", - "name": "schema", - "nameLocation": "447:6:7", - "nodeType": "VariableDeclaration", - "scope": 1981, - "src": "440:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1979, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "440:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "name": "SchemaRecord", - "nameLocation": "232:12:7", - "nodeType": "StructDefinition", - "scope": 2018, - "src": "225:285:7", - "visibility": "public" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1983, - "name": "ISemver", - "nameLocations": [ - "671:7:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2087, - "src": "671:7:7" - }, - "id": 1984, - "nodeType": "InheritanceSpecifier", - "src": "671:7:7" - } - ], - "canonicalName": "ISchemaRegistry", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1982, - "nodeType": "StructuredDocumentation", - "src": "512:130:7", - "text": "@title ISchemaRegistry\n @notice The interface of global attestation schemas for the Ethereum Attestation Service protocol." - }, - "fullyImplemented": false, - "id": 2017, - "linearizedBaseContracts": [ - 2017, - 2087 - ], - "name": "ISchemaRegistry", - "nameLocation": "652:15:7", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 1985, - "nodeType": "StructuredDocumentation", - "src": "685:213:7", - "text": "@notice Emitted when a new schema has been registered\n @param uid The schema UID.\n @param registerer The address of the account used to register the schema.\n @param schema The schema data." - }, - "eventSelector": "d0b86852e21f9e5fa4bc3b0cff9757ffe243d50c4b43968a42202153d651ea5e", - "id": 1994, - "name": "Registered", - "nameLocation": "909:10:7", - "nodeType": "EventDefinition", - "parameters": { - "id": 1993, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1987, - "indexed": true, - "mutability": "mutable", - "name": "uid", - "nameLocation": "936:3:7", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "920:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1986, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "920:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1989, - "indexed": true, - "mutability": "mutable", - "name": "registerer", - "nameLocation": "957:10:7", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "941:26:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1988, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "941:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1992, - "indexed": false, - "mutability": "mutable", - "name": "schema", - "nameLocation": "982:6:7", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "969:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SchemaRecord_$1981_memory_ptr", - "typeString": "struct SchemaRecord" - }, - "typeName": { - "id": 1991, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1990, - "name": "SchemaRecord", - "nameLocations": [ - "969:12:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1981, - "src": "969:12:7" - }, - "referencedDeclaration": 1981, - "src": "969:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SchemaRecord_$1981_storage_ptr", - "typeString": "struct SchemaRecord" - } - }, - "visibility": "internal" - } - ], - "src": "919:70:7" - }, - "src": "903:87:7" - }, - { - "documentation": { - "id": 1995, - "nodeType": "StructuredDocumentation", - "src": "996:262:7", - "text": "@notice Submits and reserves a new schema\n @param schema The schema data schema.\n @param resolver An optional schema resolver.\n @param revocable Whether the schema allows revocations explicitly.\n @return The UID of the new schema." - }, - "functionSelector": "60d7a278", - "id": 2007, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "register", - "nameLocation": "1272:8:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2003, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1997, - "mutability": "mutable", - "name": "schema", - "nameLocation": "1297:6:7", - "nodeType": "VariableDeclaration", - "scope": 2007, - "src": "1281:22:7", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1996, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1281:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2000, - "mutability": "mutable", - "name": "resolver", - "nameLocation": "1321:8:7", - "nodeType": "VariableDeclaration", - "scope": 2007, - "src": "1305:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISchemaResolver_$2077", - "typeString": "contract ISchemaResolver" - }, - "typeName": { - "id": 1999, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1998, - "name": "ISchemaResolver", - "nameLocations": [ - "1305:15:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2077, - "src": "1305:15:7" - }, - "referencedDeclaration": 2077, - "src": "1305:15:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISchemaResolver_$2077", - "typeString": "contract ISchemaResolver" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2002, - "mutability": "mutable", - "name": "revocable", - "nameLocation": "1336:9:7", - "nodeType": "VariableDeclaration", - "scope": 2007, - "src": "1331:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2001, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1331:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1280:66:7" - }, - "returnParameters": { - "id": 2006, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2005, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2007, - "src": "1365:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2004, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1365:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1364:9:7" - }, - "scope": 2017, - "src": "1263:111:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 2008, - "nodeType": "StructuredDocumentation", - "src": "1380:140:7", - "text": "@notice Returns an existing schema by UID\n @param uid The UID of the schema to retrieve.\n @return The schema data members." - }, - "functionSelector": "a2ea7c6e", - "id": 2016, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getSchema", - "nameLocation": "1534:9:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2010, - "mutability": "mutable", - "name": "uid", - "nameLocation": "1552:3:7", - "nodeType": "VariableDeclaration", - "scope": 2016, - "src": "1544:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2009, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1544:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1543:13:7" - }, - "returnParameters": { - "id": 2015, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2014, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2016, - "src": "1580:19:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SchemaRecord_$1981_memory_ptr", - "typeString": "struct SchemaRecord" - }, - "typeName": { - "id": 2013, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2012, - "name": "SchemaRecord", - "nameLocations": [ - "1580:12:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1981, - "src": "1580:12:7" - }, - "referencedDeclaration": 1981, - "src": "1580:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SchemaRecord_$1981_storage_ptr", - "typeString": "struct SchemaRecord" - } - }, - "visibility": "internal" - } - ], - "src": "1579:21:7" - }, - "scope": 2017, - "src": "1525:76:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2018, - "src": "642:961:7", - "usedErrors": [], - "usedEvents": [ - 1994 - ] - } - ], - "src": "33:1570:7" - }, - "id": 7 - }, - "EAS/ISchemaResolver.sol": { - "ast": { - "absolutePath": "EAS/ISchemaResolver.sol", - "exportedSymbols": { - "Attestation": [ - 1641 - ], - "ISchemaResolver": [ - 2077 - ], - "ISemver": [ - 2087 - ] - }, - "id": 2078, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2019, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:8" - }, - { - "absolutePath": "EAS/Common.sol", - "file": "./Common.sol", - "id": 2021, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2078, - "sourceUnit": 1658, - "src": "58:43:8", - "symbolAliases": [ - { - "foreign": { - "id": 2020, - "name": "Attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "67:11:8", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/ISemver.sol", - "file": "./ISemver.sol", - "id": 2023, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2078, - "sourceUnit": 2088, - "src": "102:40:8", - "symbolAliases": [ - { - "foreign": { - "id": 2022, - "name": "ISemver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "111:7:8", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2025, - "name": "ISemver", - "nameLocations": [ - "258:7:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2087, - "src": "258:7:8" - }, - "id": 2026, - "nodeType": "InheritanceSpecifier", - "src": "258:7:8" - } - ], - "canonicalName": "ISchemaResolver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 2024, - "nodeType": "StructuredDocumentation", - "src": "144:85:8", - "text": "@title ISchemaResolver\n @notice The interface of an optional schema resolver." - }, - "fullyImplemented": false, - "id": 2077, - "linearizedBaseContracts": [ - 2077, - 2087 - ], - "name": "ISchemaResolver", - "nameLocation": "239:15:8", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 2027, - "nodeType": "StructuredDocumentation", - "src": "272:112:8", - "text": "@notice Checks if the resolver can be sent ETH.\n @return Whether the resolver supports ETH transfers." - }, - "functionSelector": "ce46e046", - "id": 2032, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isPayable", - "nameLocation": "398:9:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2028, - "nodeType": "ParameterList", - "parameters": [], - "src": "407:2:8" - }, - "returnParameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2030, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "433:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2029, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "433:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "432:6:8" - }, - "scope": 2077, - "src": "389:50:8", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 2033, - "nodeType": "StructuredDocumentation", - "src": "445:167:8", - "text": "@notice Processes an attestation and verifies whether it's valid.\n @param attestation The new attestation.\n @return Whether the attestation is valid." - }, - "functionSelector": "e60c3505", - "id": 2041, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "attest", - "nameLocation": "626:6:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2036, - "mutability": "mutable", - "name": "attestation", - "nameLocation": "654:11:8", - "nodeType": "VariableDeclaration", - "scope": 2041, - "src": "633:32:8", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 2035, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2034, - "name": "Attestation", - "nameLocations": [ - "633:11:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "633:11:8" - }, - "referencedDeclaration": 1641, - "src": "633:11:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - } - ], - "src": "632:34:8" - }, - "returnParameters": { - "id": 2040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2039, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2041, - "src": "693:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2038, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "693:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "692:6:8" - }, - "scope": 2077, - "src": "617:82:8", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 2042, - "nodeType": "StructuredDocumentation", - "src": "705:268:8", - "text": "@notice Processes multiple attestations and verifies whether they are valid.\n @param attestations The new attestations.\n @param values Explicit ETH amounts which were sent with each attestation.\n @return Whether all the attestations are valid." - }, - "functionSelector": "91db0b7e", - "id": 2054, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "multiAttest", - "nameLocation": "987:11:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2046, - "mutability": "mutable", - "name": "attestations", - "nameLocation": "1031:12:8", - "nodeType": "VariableDeclaration", - "scope": 2054, - "src": "1008:35:8", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct Attestation[]" - }, - "typeName": { - "baseType": { - "id": 2044, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2043, - "name": "Attestation", - "nameLocations": [ - "1008:11:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "1008:11:8" - }, - "referencedDeclaration": 1641, - "src": "1008:11:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "id": 2045, - "nodeType": "ArrayTypeName", - "src": "1008:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_storage_$dyn_storage_ptr", - "typeString": "struct Attestation[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2049, - "mutability": "mutable", - "name": "values", - "nameLocation": "1072:6:8", - "nodeType": "VariableDeclaration", - "scope": 2054, - "src": "1053:25:8", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2047, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1053:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2048, - "nodeType": "ArrayTypeName", - "src": "1053:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "998:86:8" - }, - "returnParameters": { - "id": 2053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2052, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2054, - "src": "1111:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2051, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1111:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1110:6:8" - }, - "scope": 2077, - "src": "978:139:8", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 2055, - "nodeType": "StructuredDocumentation", - "src": "1123:205:8", - "text": "@notice Processes an attestation revocation and verifies if it can be revoked.\n @param attestation The existing attestation to be revoked.\n @return Whether the attestation can be revoked." - }, - "functionSelector": "e49617e1", - "id": 2063, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revoke", - "nameLocation": "1342:6:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2058, - "mutability": "mutable", - "name": "attestation", - "nameLocation": "1370:11:8", - "nodeType": "VariableDeclaration", - "scope": 2063, - "src": "1349:32:8", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 2057, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2056, - "name": "Attestation", - "nameLocations": [ - "1349:11:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "1349:11:8" - }, - "referencedDeclaration": 1641, - "src": "1349:11:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - } - ], - "src": "1348:34:8" - }, - "returnParameters": { - "id": 2062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2061, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2063, - "src": "1409:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2060, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1409:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1408:6:8" - }, - "scope": 2077, - "src": "1333:82:8", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 2064, - "nodeType": "StructuredDocumentation", - "src": "1421:297:8", - "text": "@notice Processes revocation of multiple attestation and verifies they can be revoked.\n @param attestations The existing attestations to be revoked.\n @param values Explicit ETH amounts which were sent with each revocation.\n @return Whether the attestations can be revoked." - }, - "functionSelector": "88e5b2d9", - "id": 2076, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "multiRevoke", - "nameLocation": "1732:11:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2068, - "mutability": "mutable", - "name": "attestations", - "nameLocation": "1776:12:8", - "nodeType": "VariableDeclaration", - "scope": 2076, - "src": "1753:35:8", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct Attestation[]" - }, - "typeName": { - "baseType": { - "id": 2066, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2065, - "name": "Attestation", - "nameLocations": [ - "1753:11:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "1753:11:8" - }, - "referencedDeclaration": 1641, - "src": "1753:11:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "id": 2067, - "nodeType": "ArrayTypeName", - "src": "1753:13:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_storage_$dyn_storage_ptr", - "typeString": "struct Attestation[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2071, - "mutability": "mutable", - "name": "values", - "nameLocation": "1817:6:8", - "nodeType": "VariableDeclaration", - "scope": 2076, - "src": "1798:25:8", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1798:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2070, - "nodeType": "ArrayTypeName", - "src": "1798:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1743:86:8" - }, - "returnParameters": { - "id": 2075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2074, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2076, - "src": "1856:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2073, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1856:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1855:6:8" - }, - "scope": 2077, - "src": "1723:139:8", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2078, - "src": "229:1635:8", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "33:1831:8" - }, - "id": 8 - }, - "EAS/ISemver.sol": { - "ast": { - "absolutePath": "EAS/ISemver.sol", - "exportedSymbols": { - "ISemver": [ - 2087 - ] - }, - "id": 2088, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2079, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:23:9" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "ISemver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 2080, - "nodeType": "StructuredDocumentation", - "src": "58:51:9", - "text": "@title ISemver\n @notice A semver interface." - }, - "fullyImplemented": false, - "id": 2087, - "linearizedBaseContracts": [ - 2087 - ], - "name": "ISemver", - "nameLocation": "119:7:9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 2081, - "nodeType": "StructuredDocumentation", - "src": "133:106:9", - "text": "@notice Returns the full semver contract version.\n @return Semver contract version as a string." - }, - "functionSelector": "54fd4d50", - "id": 2086, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "version", - "nameLocation": "253:7:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2082, - "nodeType": "ParameterList", - "parameters": [], - "src": "260:2:9" - }, - "returnParameters": { - "id": 2085, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2084, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2086, - "src": "286:13:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2083, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "286:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "285:15:9" - }, - "scope": 2087, - "src": "244:57:9", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2088, - "src": "109:194:9", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "33:270:9" - }, - "id": 9 - }, - "EAS/SchemaResolver.sol": { - "ast": { - "absolutePath": "EAS/SchemaResolver.sol", - "exportedSymbols": { - "AccessDenied": [ - 1601 - ], - "Attestation": [ - 1641 - ], - "IEAS": [ - 1964 - ], - "ISchemaResolver": [ - 2077 - ], - "InvalidEAS": [ - 1605 - ], - "InvalidLength": [ - 1607 - ], - "SchemaResolver": [ - 2414 - ], - "Semver": [ - 2481 - ], - "uncheckedInc": [ - 1657 - ] - }, - "id": 2415, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2089, - "literals": [ - "solidity", - "^", - "0.8", - ".4" - ], - "nodeType": "PragmaDirective", - "src": "33:23:10" - }, - { - "absolutePath": "EAS/Common.sol", - "file": "./Common.sol", - "id": 2094, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2415, - "sourceUnit": 1658, - "src": "58:85:10", - "symbolAliases": [ - { - "foreign": { - "id": 2090, - "name": "AccessDenied", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1601, - "src": "67:12:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 2091, - "name": "InvalidEAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "81:10:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 2092, - "name": "InvalidLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "93:13:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 2093, - "name": "uncheckedInc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "108:12:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/IEAS.sol", - "file": "./IEAS.sol", - "id": 2097, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2415, - "sourceUnit": 1965, - "src": "144:47:10", - "symbolAliases": [ - { - "foreign": { - "id": 2095, - "name": "IEAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1964, - "src": "153:4:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 2096, - "name": "Attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "159:11:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/Semver.sol", - "file": "./Semver.sol", - "id": 2099, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2415, - "sourceUnit": 2482, - "src": "192:38:10", - "symbolAliases": [ - { - "foreign": { - "id": 2098, - "name": "Semver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2481, - "src": "201:6:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/ISchemaResolver.sol", - "file": "./ISchemaResolver.sol", - "id": 2101, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2415, - "sourceUnit": 2078, - "src": "231:56:10", - "symbolAliases": [ - { - "foreign": { - "id": 2100, - "name": "ISchemaResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2077, - "src": "240:15:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 2103, - "name": "ISchemaResolver", - "nameLocations": [ - "398:15:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2077, - "src": "398:15:10" - }, - "id": 2104, - "nodeType": "InheritanceSpecifier", - "src": "398:15:10" - }, - { - "baseName": { - "id": 2105, - "name": "Semver", - "nameLocations": [ - "415:6:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2481, - "src": "415:6:10" - }, - "id": 2106, - "nodeType": "InheritanceSpecifier", - "src": "415:6:10" - } - ], - "canonicalName": "SchemaResolver", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2102, - "nodeType": "StructuredDocumentation", - "src": "289:73:10", - "text": "@title SchemaResolver\n @notice The base schema resolver contract." - }, - "fullyImplemented": false, - "id": 2414, - "linearizedBaseContracts": [ - 2414, - 2481, - 2077, - 2087 - ], - "name": "SchemaResolver", - "nameLocation": "380:14:10", - "nodeType": "ContractDefinition", - "nodes": [ - { - "errorSelector": "11011294", - "id": 2108, - "name": "InsufficientValue", - "nameLocation": "434:17:10", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 2107, - "nodeType": "ParameterList", - "parameters": [], - "src": "451:2:10" - }, - "src": "428:26:10" - }, - { - "errorSelector": "1574f9f3", - "id": 2110, - "name": "NotPayable", - "nameLocation": "465:10:10", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 2109, - "nodeType": "ParameterList", - "parameters": [], - "src": "475:2:10" - }, - "src": "459:19:10" - }, - { - "constant": false, - "id": 2113, - "mutability": "immutable", - "name": "_eas", - "nameLocation": "540:4:10", - "nodeType": "VariableDeclaration", - "scope": 2414, - "src": "516:28:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - }, - "typeName": { - "id": 2112, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2111, - "name": "IEAS", - "nameLocations": [ - "516:4:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1964, - "src": "516:4:10" - }, - "referencedDeclaration": 1964, - "src": "516:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 2143, - "nodeType": "Block", - "src": "685:113:10", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2127, - "name": "eas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2117, - "src": "707:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - ], - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "699:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "699:7:10", - "typeDescriptions": {} - } - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "699:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "723:1:10", - "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": 2130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "715:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "715:7:10", - "typeDescriptions": {} - } - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "715:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "699:26:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2138, - "nodeType": "IfStatement", - "src": "695:76:10", - "trueBody": { - "id": 2137, - "nodeType": "Block", - "src": "727:44:10", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2134, - "name": "InvalidEAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "748:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" - } - }, - "id": 2135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "748:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 2136, - "nodeType": "RevertStatement", - "src": "741:19:10" - } - ] - } - }, - { - "expression": { - "id": 2141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2139, - "name": "_eas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2113, - "src": "781:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2140, - "name": "eas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2117, - "src": "788:3:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - }, - "src": "781:10:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - }, - "id": 2142, - "nodeType": "ExpressionStatement", - "src": "781:10:10" - } - ] - }, - "documentation": { - "id": 2114, - "nodeType": "StructuredDocumentation", - "src": "551:91:10", - "text": "@dev Creates a new resolver.\n @param eas The address of the global EAS contract." - }, - "id": 2144, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "31", - "id": 2120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "676:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "hexValue": "33", - "id": 2121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "679:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - { - "hexValue": "30", - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "682:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 2123, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 2119, - "name": "Semver", - "nameLocations": [ - "669:6:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2481, - "src": "669:6:10" - }, - "nodeType": "ModifierInvocation", - "src": "669:15:10" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2117, - "mutability": "mutable", - "name": "eas", - "nameLocation": "664:3:10", - "nodeType": "VariableDeclaration", - "scope": 2144, - "src": "659:8:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - }, - "typeName": { - "id": 2116, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2115, - "name": "IEAS", - "nameLocations": [ - "659:4:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1964, - "src": "659:4:10" - }, - "referencedDeclaration": 1964, - "src": "659:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - }, - "visibility": "internal" - } - ], - "src": "658:10:10" - }, - "returnParameters": { - "id": 2124, - "nodeType": "ParameterList", - "parameters": [], - "src": "685:0:10" - }, - "scope": 2414, - "src": "647:151:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2151, - "nodeType": "Block", - "src": "891:39:10", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2147, - "name": "_onlyEAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "901:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 2148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "901:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2149, - "nodeType": "ExpressionStatement", - "src": "901:10:10" - }, - { - "id": 2150, - "nodeType": "PlaceholderStatement", - "src": "922:1:10" - } - ] - }, - "documentation": { - "id": 2145, - "nodeType": "StructuredDocumentation", - "src": "804:63:10", - "text": "@dev Ensures that only the EAS contract can make this call." - }, - "id": 2152, - "name": "onlyEAS", - "nameLocation": "881:7:10", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2146, - "nodeType": "ParameterList", - "parameters": [], - "src": "888:2:10" - }, - "src": "872:58:10", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 2032 - ], - "body": { - "id": 2160, - "nodeType": "Block", - "src": "1028:29:10", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 2158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1045:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2157, - "id": 2159, - "nodeType": "Return", - "src": "1038:12:10" - } - ] - }, - "documentation": { - "id": 2153, - "nodeType": "StructuredDocumentation", - "src": "936:31:10", - "text": "@inheritdoc ISchemaResolver" - }, - "functionSelector": "ce46e046", - "id": 2161, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isPayable", - "nameLocation": "981:9:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2154, - "nodeType": "ParameterList", - "parameters": [], - "src": "990:2:10" - }, - "returnParameters": { - "id": 2157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2156, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2161, - "src": "1022:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2155, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1022:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1021:6:10" - }, - "scope": 2414, - "src": "972:85:10", - "stateMutability": "pure", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2173, - "nodeType": "Block", - "src": "1125:78:10", - "statements": [ - { - "condition": { - "id": 2167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1139:12:10", - "subExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2165, - "name": "isPayable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2161, - "src": "1140:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_bool_$", - "typeString": "function () pure returns (bool)" - } - }, - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1140:11:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2172, - "nodeType": "IfStatement", - "src": "1135:62:10", - "trueBody": { - "id": 2171, - "nodeType": "Block", - "src": "1153:44:10", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2168, - "name": "NotPayable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2110, - "src": "1174:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" - } - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1174:12:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 2170, - "nodeType": "RevertStatement", - "src": "1167:19:10" - } - ] - } - } - ] - }, - "documentation": { - "id": 2162, - "nodeType": "StructuredDocumentation", - "src": "1063:22:10", - "text": "@dev ETH callback." - }, - "id": 2174, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2163, - "nodeType": "ParameterList", - "parameters": [], - "src": "1097:2:10" - }, - "returnParameters": { - "id": 2164, - "nodeType": "ParameterList", - "parameters": [], - "src": "1125:0:10" - }, - "scope": 2414, - "src": "1090:113:10", - "stateMutability": "payable", - "virtual": true, - "visibility": "external" - }, - { - "baseFunctions": [ - 2041 - ], - "body": { - "id": 2191, - "nodeType": "Block", - "src": "1335:56:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2186, - "name": "attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "1361:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - { - "expression": { - "id": 2187, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1374:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1378:5:10", - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1374:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2185, - "name": "onAttest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2385, - "src": "1352:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Attestation_$1641_calldata_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct Attestation calldata,uint256) returns (bool)" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1352:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2184, - "id": 2190, - "nodeType": "Return", - "src": "1345:39:10" - } - ] - }, - "documentation": { - "id": 2175, - "nodeType": "StructuredDocumentation", - "src": "1209:31:10", - "text": "@inheritdoc ISchemaResolver" - }, - "functionSelector": "e60c3505", - "id": 2192, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2181, - "kind": "modifierInvocation", - "modifierName": { - "id": 2180, - "name": "onlyEAS", - "nameLocations": [ - "1312:7:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2152, - "src": "1312:7:10" - }, - "nodeType": "ModifierInvocation", - "src": "1312:7:10" - } - ], - "name": "attest", - "nameLocation": "1254:6:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2178, - "mutability": "mutable", - "name": "attestation", - "nameLocation": "1282:11:10", - "nodeType": "VariableDeclaration", - "scope": 2192, - "src": "1261:32:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 2177, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2176, - "name": "Attestation", - "nameLocations": [ - "1261:11:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "1261:11:10" - }, - "referencedDeclaration": 1641, - "src": "1261:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - } - ], - "src": "1260:34:10" - }, - "returnParameters": { - "id": 2184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2183, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2192, - "src": "1329:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1329:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1328:6:10" - }, - "scope": 2414, - "src": "1245:146:10", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 2054 - ], - "body": { - "id": 2273, - "nodeType": "Block", - "src": "1580:1314:10", - "statements": [ - { - "assignments": [ - 2208 - ], - "declarations": [ - { - "constant": false, - "id": 2208, - "mutability": "mutable", - "name": "length", - "nameLocation": "1598:6:10", - "nodeType": "VariableDeclaration", - "scope": 2273, - "src": "1590:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1590:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2211, - "initialValue": { - "expression": { - "id": 2209, - "name": "attestations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2197, - "src": "1607:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct Attestation calldata[] calldata" - } - }, - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1620:6:10", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1607:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1590:36:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2212, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2208, - "src": "1640:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 2213, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2200, - "src": "1650:6:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1657:6:10", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1650:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1640:23:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2220, - "nodeType": "IfStatement", - "src": "1636:76:10", - "trueBody": { - "id": 2219, - "nodeType": "Block", - "src": "1665:47:10", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2216, - "name": "InvalidLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "1686:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" - } - }, - "id": 2217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1686:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 2218, - "nodeType": "RevertStatement", - "src": "1679:22:10" - } - ] - } - }, - { - "assignments": [ - 2222 - ], - "declarations": [ - { - "constant": false, - "id": 2222, - "mutability": "mutable", - "name": "remainingValue", - "nameLocation": "2127:14:10", - "nodeType": "VariableDeclaration", - "scope": 2273, - "src": "2119:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2119:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2225, - "initialValue": { - "expression": { - "id": 2223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "2144:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2148:5:10", - "memberName": "value", - "nodeType": "MemberAccess", - "src": "2144:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2119:34:10" - }, - { - "body": { - "id": 2269, - "nodeType": "Block", - "src": "2217:649:10", - "statements": [ - { - "assignments": [ - 2240 - ], - "declarations": [ - { - "constant": false, - "id": 2240, - "mutability": "mutable", - "name": "value", - "nameLocation": "2329:5:10", - "nodeType": "VariableDeclaration", - "scope": 2269, - "src": "2321:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2321:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2244, - "initialValue": { - "baseExpression": { - "id": 2241, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2200, - "src": "2337:6:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 2243, - "indexExpression": { - "id": 2242, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "2344:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2337:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2321:25:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2245, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "2364:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 2246, - "name": "remainingValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2222, - "src": "2372:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2364:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2252, - "nodeType": "IfStatement", - "src": "2360:87:10", - "trueBody": { - "id": 2251, - "nodeType": "Block", - "src": "2388:59:10", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2248, - "name": "InsufficientValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2108, - "src": "2413:17:10", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" - } - }, - "id": 2249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2413:19:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 2250, - "nodeType": "RevertStatement", - "src": "2406:26:10" - } - ] - } - }, - { - "condition": { - "id": 2259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2575:33:10", - "subExpression": { - "arguments": [ - { - "baseExpression": { - "id": 2254, - "name": "attestations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2197, - "src": "2585:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct Attestation calldata[] calldata" - } - }, - "id": 2256, - "indexExpression": { - "id": 2255, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "2598:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2585:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - { - "id": 2257, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "2602:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2253, - "name": "onAttest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2385, - "src": "2576:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Attestation_$1641_calldata_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct Attestation calldata,uint256) returns (bool)" - } - }, - "id": 2258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2576:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2263, - "nodeType": "IfStatement", - "src": "2571:84:10", - "trueBody": { - "id": 2262, - "nodeType": "Block", - "src": "2610:45:10", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 2260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2635:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2206, - "id": 2261, - "nodeType": "Return", - "src": "2628:12:10" - } - ] - } - }, - { - "id": 2268, - "nodeType": "UncheckedBlock", - "src": "2669:187:10", - "statements": [ - { - "expression": { - "id": 2266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2264, - "name": "remainingValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2222, - "src": "2818:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 2265, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "2836:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2818:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2267, - "nodeType": "ExpressionStatement", - "src": "2818:23:10" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2230, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "2184:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2231, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2208, - "src": "2188:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2184:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2270, - "initializationExpression": { - "assignments": [ - 2227 - ], - "declarations": [ - { - "constant": false, - "id": 2227, - "mutability": "mutable", - "name": "i", - "nameLocation": "2177:1:10", - "nodeType": "VariableDeclaration", - "scope": 2270, - "src": "2169:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2169:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2229, - "initialValue": { - "hexValue": "30", - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2181:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2169:13:10" - }, - "isSimpleCounterLoop": false, - "loopExpression": { - "expression": { - "id": 2237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2233, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "2196:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2235, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "2213:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2234, - "name": "uncheckedInc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "2200:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2200:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2196:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2238, - "nodeType": "ExpressionStatement", - "src": "2196:19:10" - }, - "nodeType": "ForStatement", - "src": "2164:702:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2883:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2206, - "id": 2272, - "nodeType": "Return", - "src": "2876:11:10" - } - ] - }, - "documentation": { - "id": 2193, - "nodeType": "StructuredDocumentation", - "src": "1397:31:10", - "text": "@inheritdoc ISchemaResolver" - }, - "functionSelector": "91db0b7e", - "id": 2274, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2203, - "kind": "modifierInvocation", - "modifierName": { - "id": 2202, - "name": "onlyEAS", - "nameLocations": [ - "1557:7:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2152, - "src": "1557:7:10" - }, - "nodeType": "ModifierInvocation", - "src": "1557:7:10" - } - ], - "name": "multiAttest", - "nameLocation": "1442:11:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2197, - "mutability": "mutable", - "name": "attestations", - "nameLocation": "1486:12:10", - "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "1463:35:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct Attestation[]" - }, - "typeName": { - "baseType": { - "id": 2195, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2194, - "name": "Attestation", - "nameLocations": [ - "1463:11:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "1463:11:10" - }, - "referencedDeclaration": 1641, - "src": "1463:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "id": 2196, - "nodeType": "ArrayTypeName", - "src": "1463:13:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_storage_$dyn_storage_ptr", - "typeString": "struct Attestation[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2200, - "mutability": "mutable", - "name": "values", - "nameLocation": "1527:6:10", - "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "1508:25:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2198, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1508:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2199, - "nodeType": "ArrayTypeName", - "src": "1508:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "1453:86:10" - }, - "returnParameters": { - "id": 2206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2205, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2274, - "src": "1574:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2204, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1574:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1573:6:10" - }, - "scope": 2414, - "src": "1433:1461:10", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 2063 - ], - "body": { - "id": 2291, - "nodeType": "Block", - "src": "3026:56:10", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2286, - "name": "attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2278, - "src": "3052:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - { - "expression": { - "id": 2287, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3065:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3069:5:10", - "memberName": "value", - "nodeType": "MemberAccess", - "src": "3065:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2285, - "name": "onRevoke", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2396, - "src": "3043:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Attestation_$1641_calldata_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct Attestation calldata,uint256) returns (bool)" - } - }, - "id": 2289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3043:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2284, - "id": 2290, - "nodeType": "Return", - "src": "3036:39:10" - } - ] - }, - "documentation": { - "id": 2275, - "nodeType": "StructuredDocumentation", - "src": "2900:31:10", - "text": "@inheritdoc ISchemaResolver" - }, - "functionSelector": "e49617e1", - "id": 2292, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2281, - "kind": "modifierInvocation", - "modifierName": { - "id": 2280, - "name": "onlyEAS", - "nameLocations": [ - "3003:7:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2152, - "src": "3003:7:10" - }, - "nodeType": "ModifierInvocation", - "src": "3003:7:10" - } - ], - "name": "revoke", - "nameLocation": "2945:6:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2278, - "mutability": "mutable", - "name": "attestation", - "nameLocation": "2973:11:10", - "nodeType": "VariableDeclaration", - "scope": 2292, - "src": "2952:32:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 2277, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2276, - "name": "Attestation", - "nameLocations": [ - "2952:11:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "2952:11:10" - }, - "referencedDeclaration": 1641, - "src": "2952:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - } - ], - "src": "2951:34:10" - }, - "returnParameters": { - "id": 2284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2283, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2292, - "src": "3020:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2282, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3020:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3019:6:10" - }, - "scope": 2414, - "src": "2936:146:10", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 2076 - ], - "body": { - "id": 2373, - "nodeType": "Block", - "src": "3271:1313:10", - "statements": [ - { - "assignments": [ - 2308 - ], - "declarations": [ - { - "constant": false, - "id": 2308, - "mutability": "mutable", - "name": "length", - "nameLocation": "3289:6:10", - "nodeType": "VariableDeclaration", - "scope": 2373, - "src": "3281:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3281:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2311, - "initialValue": { - "expression": { - "id": 2309, - "name": "attestations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "3298:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct Attestation calldata[] calldata" - } - }, - "id": 2310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3311:6:10", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3298:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3281:36:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2312, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2308, - "src": "3331:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 2313, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "3341:6:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 2314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3348:6:10", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3341:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3331:23:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2320, - "nodeType": "IfStatement", - "src": "3327:76:10", - "trueBody": { - "id": 2319, - "nodeType": "Block", - "src": "3356:47:10", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2316, - "name": "InvalidLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "3377:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" - } - }, - "id": 2317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3377:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 2318, - "nodeType": "RevertStatement", - "src": "3370:22:10" - } - ] - } - }, - { - "assignments": [ - 2322 - ], - "declarations": [ - { - "constant": false, - "id": 2322, - "mutability": "mutable", - "name": "remainingValue", - "nameLocation": "3818:14:10", - "nodeType": "VariableDeclaration", - "scope": 2373, - "src": "3810:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3810:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2325, - "initialValue": { - "expression": { - "id": 2323, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3835:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3839:5:10", - "memberName": "value", - "nodeType": "MemberAccess", - "src": "3835:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3810:34:10" - }, - { - "body": { - "id": 2369, - "nodeType": "Block", - "src": "3908:648:10", - "statements": [ - { - "assignments": [ - 2340 - ], - "declarations": [ - { - "constant": false, - "id": 2340, - "mutability": "mutable", - "name": "value", - "nameLocation": "4020:5:10", - "nodeType": "VariableDeclaration", - "scope": 2369, - "src": "4012:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4012:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2344, - "initialValue": { - "baseExpression": { - "id": 2341, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "4028:6:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 2343, - "indexExpression": { - "id": 2342, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "4035:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4028:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4012:25:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2345, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2340, - "src": "4055:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 2346, - "name": "remainingValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "4063:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4055:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2352, - "nodeType": "IfStatement", - "src": "4051:87:10", - "trueBody": { - "id": 2351, - "nodeType": "Block", - "src": "4079:59:10", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2348, - "name": "InsufficientValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2108, - "src": "4104:17:10", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" - } - }, - "id": 2349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4104:19:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 2350, - "nodeType": "RevertStatement", - "src": "4097:26:10" - } - ] - } - }, - { - "condition": { - "id": 2359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4265:33:10", - "subExpression": { - "arguments": [ - { - "baseExpression": { - "id": 2354, - "name": "attestations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "4275:12:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct Attestation calldata[] calldata" - } - }, - "id": 2356, - "indexExpression": { - "id": 2355, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "4288:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4275:15:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - { - "id": 2357, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2340, - "src": "4292:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2353, - "name": "onRevoke", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2396, - "src": "4266:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Attestation_$1641_calldata_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct Attestation calldata,uint256) returns (bool)" - } - }, - "id": 2358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4266:32:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2363, - "nodeType": "IfStatement", - "src": "4261:84:10", - "trueBody": { - "id": 2362, - "nodeType": "Block", - "src": "4300:45:10", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4325:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2306, - "id": 2361, - "nodeType": "Return", - "src": "4318:12:10" - } - ] - } - }, - { - "id": 2368, - "nodeType": "UncheckedBlock", - "src": "4359:187:10", - "statements": [ - { - "expression": { - "id": 2366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2364, - "name": "remainingValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "4508:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 2365, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2340, - "src": "4526:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4508:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2367, - "nodeType": "ExpressionStatement", - "src": "4508:23:10" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2330, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "3875:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2331, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2308, - "src": "3879:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3875:10:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2370, - "initializationExpression": { - "assignments": [ - 2327 - ], - "declarations": [ - { - "constant": false, - "id": 2327, - "mutability": "mutable", - "name": "i", - "nameLocation": "3868:1:10", - "nodeType": "VariableDeclaration", - "scope": 2370, - "src": "3860:9:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3860:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2329, - "initialValue": { - "hexValue": "30", - "id": 2328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3872:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3860:13:10" - }, - "isSimpleCounterLoop": false, - "loopExpression": { - "expression": { - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2333, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "3887:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2335, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2327, - "src": "3904:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2334, - "name": "uncheckedInc", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "3891:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3891:15:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3887:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2338, - "nodeType": "ExpressionStatement", - "src": "3887:19:10" - }, - "nodeType": "ForStatement", - "src": "3855:701:10" - }, - { - "expression": { - "hexValue": "74727565", - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4573:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2306, - "id": 2372, - "nodeType": "Return", - "src": "4566:11:10" - } - ] - }, - "documentation": { - "id": 2293, - "nodeType": "StructuredDocumentation", - "src": "3088:31:10", - "text": "@inheritdoc ISchemaResolver" - }, - "functionSelector": "88e5b2d9", - "id": 2374, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2303, - "kind": "modifierInvocation", - "modifierName": { - "id": 2302, - "name": "onlyEAS", - "nameLocations": [ - "3248:7:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2152, - "src": "3248:7:10" - }, - "nodeType": "ModifierInvocation", - "src": "3248:7:10" - } - ], - "name": "multiRevoke", - "nameLocation": "3133:11:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2297, - "mutability": "mutable", - "name": "attestations", - "nameLocation": "3177:12:10", - "nodeType": "VariableDeclaration", - "scope": 2374, - "src": "3154:35:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct Attestation[]" - }, - "typeName": { - "baseType": { - "id": 2295, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2294, - "name": "Attestation", - "nameLocations": [ - "3154:11:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "3154:11:10" - }, - "referencedDeclaration": 1641, - "src": "3154:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "id": 2296, - "nodeType": "ArrayTypeName", - "src": "3154:13:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Attestation_$1641_storage_$dyn_storage_ptr", - "typeString": "struct Attestation[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2300, - "mutability": "mutable", - "name": "values", - "nameLocation": "3218:6:10", - "nodeType": "VariableDeclaration", - "scope": 2374, - "src": "3199:25:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3199:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2299, - "nodeType": "ArrayTypeName", - "src": "3199:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "3144:86:10" - }, - "returnParameters": { - "id": 2306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2305, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2374, - "src": "3265:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2304, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3265:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3264:6:10" - }, - "scope": 2414, - "src": "3124:1460:10", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 2375, - "nodeType": "StructuredDocumentation", - "src": "4590:562:10", - "text": "@notice A resolver callback that should be implemented by child contracts.\n @param attestation The new attestation.\n @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in\n both attest() and multiAttest() callbacks EAS-only callbacks and that in case of multi attestations, it'll\n usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the\n attestations in the batch.\n @return Whether the attestation is valid." - }, - "id": 2385, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onAttest", - "nameLocation": "5166:8:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2378, - "mutability": "mutable", - "name": "attestation", - "nameLocation": "5196:11:10", - "nodeType": "VariableDeclaration", - "scope": 2385, - "src": "5175:32:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 2377, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2376, - "name": "Attestation", - "nameLocations": [ - "5175:11:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "5175:11:10" - }, - "referencedDeclaration": 1641, - "src": "5175:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2380, - "mutability": "mutable", - "name": "value", - "nameLocation": "5217:5:10", - "nodeType": "VariableDeclaration", - "scope": 2385, - "src": "5209:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2379, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5209:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5174:49:10" - }, - "returnParameters": { - "id": 2384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2383, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2385, - "src": "5250:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2382, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5250:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5249:6:10" - }, - "scope": 2414, - "src": "5157:99:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "documentation": { - "id": 2386, - "nodeType": "StructuredDocumentation", - "src": "5262:591:10", - "text": "@notice Processes an attestation revocation and verifies if it can be revoked.\n @param attestation The existing attestation to be revoked.\n @param value An explicit ETH amount that was sent to the resolver. Please note that this value is verified in\n both revoke() and multiRevoke() callbacks EAS-only callbacks and that in case of multi attestations, it'll\n usually hold that msg.value != value, since msg.value aggregated the sent ETH amounts for all the\n attestations in the batch.\n @return Whether the attestation can be revoked." - }, - "id": 2396, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onRevoke", - "nameLocation": "5867:8:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2389, - "mutability": "mutable", - "name": "attestation", - "nameLocation": "5897:11:10", - "nodeType": "VariableDeclaration", - "scope": 2396, - "src": "5876:32:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 2388, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2387, - "name": "Attestation", - "nameLocations": [ - "5876:11:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "5876:11:10" - }, - "referencedDeclaration": 1641, - "src": "5876:11:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2391, - "mutability": "mutable", - "name": "value", - "nameLocation": "5918:5:10", - "nodeType": "VariableDeclaration", - "scope": 2396, - "src": "5910:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2390, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5910:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5875:49:10" - }, - "returnParameters": { - "id": 2395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2394, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2396, - "src": "5951:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2393, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5951:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5950:6:10" - }, - "scope": 2414, - "src": "5858:99:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 2412, - "nodeType": "Block", - "src": "6064:95:10", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2400, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "6078:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6082:6:10", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "6078:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 2404, - "name": "_eas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2113, - "src": "6100:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - ], - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6092:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6092:7:10", - "typeDescriptions": {} - } - }, - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6092:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6078:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2411, - "nodeType": "IfStatement", - "src": "6074:79:10", - "trueBody": { - "id": 2410, - "nodeType": "Block", - "src": "6107:46:10", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2407, - "name": "AccessDenied", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1601, - "src": "6128:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" - } - }, - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6128:14:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 2409, - "nodeType": "RevertStatement", - "src": "6121:21:10" - } - ] - } - } - ] - }, - "documentation": { - "id": 2397, - "nodeType": "StructuredDocumentation", - "src": "5963:63:10", - "text": "@dev Ensures that only the EAS contract can make this call." - }, - "id": 2413, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_onlyEAS", - "nameLocation": "6040:8:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2398, - "nodeType": "ParameterList", - "parameters": [], - "src": "6048:2:10" - }, - "returnParameters": { - "id": 2399, - "nodeType": "ParameterList", - "parameters": [], - "src": "6064:0:10" - }, - "scope": 2414, - "src": "6031:128:10", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - } - ], - "scope": 2415, - "src": "362:5799:10", - "usedErrors": [ - 1601, - 1605, - 1607, - 2108, - 2110 - ], - "usedEvents": [] - } - ], - "src": "33:6128:10" - }, - "id": 10 - }, - "EAS/Semver.sol": { - "ast": { - "absolutePath": "EAS/Semver.sol", - "exportedSymbols": { - "ISemver": [ - 2087 - ], - "Semver": [ - 2481 - ], - "Strings": [ - 432 - ] - }, - "id": 2482, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2416, - "literals": [ - "solidity", - "^", - "0.8", - ".4" - ], - "nodeType": "PragmaDirective", - "src": "33:23:11" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "@openzeppelin/contracts/utils/Strings.sol", - "id": 2418, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2482, - "sourceUnit": 433, - "src": "58:68:11", - "symbolAliases": [ - { - "foreign": { - "id": 2417, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "67:7:11", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/ISemver.sol", - "file": "./ISemver.sol", - "id": 2420, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2482, - "sourceUnit": 2088, - "src": "128:40:11", - "symbolAliases": [ - { - "foreign": { - "id": 2419, - "name": "ISemver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "137:7:11", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2422, - "name": "ISemver", - "nameLocations": [ - "269:7:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2087, - "src": "269:7:11" - }, - "id": 2423, - "nodeType": "InheritanceSpecifier", - "src": "269:7:11" - } - ], - "canonicalName": "Semver", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2421, - "nodeType": "StructuredDocumentation", - "src": "170:80:11", - "text": "@title Semver\n @notice A simple contract for managing contract versions." - }, - "fullyImplemented": true, - "id": 2481, - "linearizedBaseContracts": [ - 2481, - 2087 - ], - "name": "Semver", - "nameLocation": "259:6:11", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 2425, - "mutability": "immutable", - "name": "_major", - "nameLocation": "349:6:11", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "323:32:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "323:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2427, - "mutability": "immutable", - "name": "_minor", - "nameLocation": "428:6:11", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "402:32:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2426, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "402:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2429, - "mutability": "immutable", - "name": "_patch", - "nameLocation": "507:6:11", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "481:32:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2428, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "481:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 2451, - "nodeType": "Block", - "src": "749:79:11", - "statements": [ - { - "expression": { - "id": 2441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2439, - "name": "_major", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "759:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2440, - "name": "major", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2432, - "src": "768:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "759:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2442, - "nodeType": "ExpressionStatement", - "src": "759:14:11" - }, - { - "expression": { - "id": 2445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2443, - "name": "_minor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "783:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2444, - "name": "minor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "792:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "783:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2446, - "nodeType": "ExpressionStatement", - "src": "783:14:11" - }, - { - "expression": { - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2447, - "name": "_patch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2429, - "src": "807:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2448, - "name": "patch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2436, - "src": "816:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "807:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2450, - "nodeType": "ExpressionStatement", - "src": "807:14:11" - } - ] - }, - "documentation": { - "id": 2430, - "nodeType": "StructuredDocumentation", - "src": "520:167:11", - "text": "@dev Create a new Semver instance.\n @param major Major version number.\n @param minor Minor version number.\n @param patch Patch version number." - }, - "id": 2452, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2432, - "mutability": "mutable", - "name": "major", - "nameLocation": "712:5:11", - "nodeType": "VariableDeclaration", - "scope": 2452, - "src": "704:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2431, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "704:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2434, - "mutability": "mutable", - "name": "minor", - "nameLocation": "727:5:11", - "nodeType": "VariableDeclaration", - "scope": 2452, - "src": "719:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "719:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2436, - "mutability": "mutable", - "name": "patch", - "nameLocation": "742:5:11", - "nodeType": "VariableDeclaration", - "scope": 2452, - "src": "734:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "734:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "703:45:11" - }, - "returnParameters": { - "id": 2438, - "nodeType": "ParameterList", - "parameters": [], - "src": "749:0:11" - }, - "scope": 2481, - "src": "692:136:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 2086 - ], - "body": { - "id": 2479, - "nodeType": "Block", - "src": "1002:178:11", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 2464, - "name": "_major", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "1089:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2462, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "1072:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$432_$", - "typeString": "type(library Strings)" - } - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1080:8:11", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 245, - "src": "1072:16:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1072:24:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "2e", - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1098:3:11", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "typeString": "literal_string \".\"" - }, - "value": "." - }, - { - "arguments": [ - { - "id": 2469, - "name": "_minor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "1120:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2467, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "1103:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$432_$", - "typeString": "type(library Strings)" - } - }, - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1111:8:11", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 245, - "src": "1103:16:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1103:24:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "2e", - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1129:3:11", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "typeString": "literal_string \".\"" - }, - "value": "." - }, - { - "arguments": [ - { - "id": 2474, - "name": "_patch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2429, - "src": "1151:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2472, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "1134:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$432_$", - "typeString": "type(library Strings)" - } - }, - "id": 2473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1142:8:11", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 245, - "src": "1134:16:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1134:24:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "typeString": "literal_string \".\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_6f010af653ebe3cb07d297a4ef13366103d392ceffa68dd48232e6e9ff2187bf", - "typeString": "literal_string \".\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 2460, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "1055:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1059:12:11", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1055:16:11", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1055:104:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1031:6:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2458, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1031:6:11", - "typeDescriptions": {} - } - }, - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1031:142:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2457, - "id": 2478, - "nodeType": "Return", - "src": "1012:161:11" - } - ] - }, - "documentation": { - "id": 2453, - "nodeType": "StructuredDocumentation", - "src": "834:106:11", - "text": "@notice Returns the full semver contract version.\n @return Semver contract version as a string." - }, - "functionSelector": "54fd4d50", - "id": 2480, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "version", - "nameLocation": "954:7:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2454, - "nodeType": "ParameterList", - "parameters": [], - "src": "961:2:11" - }, - "returnParameters": { - "id": 2457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2456, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "987:13:11", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2455, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "987:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "986:15:11" - }, - "scope": 2481, - "src": "945:235:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2482, - "src": "250:932:11", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "33:1149:11" - }, - "id": 11 - }, - "ownable-resolver.sol": { - "ast": { - "absolutePath": "ownable-resolver.sol", - "exportedSymbols": { - "Attestation": [ - 1641 - ], - "Context": [ - 177 - ], - "IEAS": [ - 1964 - ], - "Ownable": [ - 147 - ], - "OwnerRecipientResolver": [ - 2613 - ], - "SchemaResolver": [ - 2414 - ] - }, - "id": 2614, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2483, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:23:12" - }, - { - "absolutePath": "EAS/SchemaResolver.sol", - "file": "EAS/SchemaResolver.sol", - "id": 2485, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2614, - "sourceUnit": 2415, - "src": "57:56:12", - "symbolAliases": [ - { - "foreign": { - "id": 2484, - "name": "SchemaResolver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2414, - "src": "66:14:12", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "EAS/IEAS.sol", - "file": "EAS/IEAS.sol", - "id": 2488, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2614, - "sourceUnit": 1965, - "src": "114:49:12", - "symbolAliases": [ - { - "foreign": { - "id": 2486, - "name": "IEAS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1964, - "src": "123:4:12", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 2487, - "name": "Attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "129:11:12", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 2489, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2614, - "sourceUnit": 148, - "src": "164:52:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2491, - "name": "SchemaResolver", - "nameLocations": [ - "379:14:12" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2414, - "src": "379:14:12" - }, - "id": 2492, - "nodeType": "InheritanceSpecifier", - "src": "379:14:12" - } - ], - "canonicalName": "OwnerRecipientResolver", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2490, - "nodeType": "StructuredDocumentation", - "src": "218:125:12", - "text": " @title A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient." - }, - "fullyImplemented": true, - "id": 2613, - "linearizedBaseContracts": [ - 2613, - 2414, - 2481, - 2077, - 2087 - ], - "name": "OwnerRecipientResolver", - "nameLocation": "353:22:12", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2501, - "nodeType": "Block", - "src": "442:2:12", - "statements": [] - }, - "id": 2502, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 2498, - "name": "eas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2495, - "src": "437:3:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - } - ], - "id": 2499, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 2497, - "name": "SchemaResolver", - "nameLocations": [ - "422:14:12" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2414, - "src": "422:14:12" - }, - "nodeType": "ModifierInvocation", - "src": "422:19:12" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2495, - "mutability": "mutable", - "name": "eas", - "nameLocation": "417:3:12", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "412:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - }, - "typeName": { - "id": 2494, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2493, - "name": "IEAS", - "nameLocations": [ - "412:4:12" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1964, - "src": "412:4:12" - }, - "referencedDeclaration": 1964, - "src": "412:4:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEAS_$1964", - "typeString": "contract IEAS" - } - }, - "visibility": "internal" - } - ], - "src": "411:10:12" - }, - "returnParameters": { - "id": 2500, - "nodeType": "ParameterList", - "parameters": [], - "src": "442:0:12" - }, - "scope": 2613, - "src": "400:44:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 2385 - ], - "body": { - "id": 2575, - "nodeType": "Block", - "src": "559:1083:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2513, - "name": "attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2505, - "src": "664:11:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "676:9:12", - "memberName": "recipient", - "nodeType": "MemberAccess", - "referencedDeclaration": 1634, - "src": "664:21:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "697:1:12", - "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": 2516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "689:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "689:7:12", - "typeDescriptions": {} - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "689:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "664:35:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2523, - "nodeType": "IfStatement", - "src": "660:77:12", - "trueBody": { - "id": 2522, - "nodeType": "Block", - "src": "701:36:12", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "722:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2512, - "id": 2521, - "nodeType": "Return", - "src": "715:11:12" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "expression": { - "id": 2524, - "name": "attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2505, - "src": "811:11:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "823:9:12", - "memberName": "recipient", - "nodeType": "MemberAccess", - "referencedDeclaration": 1634, - "src": "811:21:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "833:4:12", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "811:26:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "838:6:12", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "811:33:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "848:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "811:38:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2533, - "nodeType": "IfStatement", - "src": "807:81:12", - "trueBody": { - "id": 2532, - "nodeType": "Block", - "src": "851:37:12", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 2530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "872:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2512, - "id": 2531, - "nodeType": "Return", - "src": "865:12:12" - } - ] - } - }, - { - "assignments": [ - 2535 - ], - "declarations": [ - { - "constant": false, - "id": 2535, - "mutability": "mutable", - "name": "_address", - "nameLocation": "962:8:12", - "nodeType": "VariableDeclaration", - "scope": 2575, - "src": "954:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "954:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2540, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 2537, - "name": "attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2505, - "src": "996:11:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1008:4:12", - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": 1640, - "src": "996:16:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 2536, - "name": "extractAddressFromData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2598, - "src": "973:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (bytes memory) pure returns (address)" - } - }, - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "973:40:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "954:59:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2541, - "name": "attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2505, - "src": "1128:11:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - "id": 2542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1140:9:12", - "memberName": "recipient", - "nodeType": "MemberAccess", - "referencedDeclaration": 1634, - "src": "1128:21:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 2543, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2535, - "src": "1153:8:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1128:33:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2548, - "nodeType": "IfStatement", - "src": "1124:76:12", - "trueBody": { - "id": 2547, - "nodeType": "Block", - "src": "1163:37:12", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 2545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1184:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2512, - "id": 2546, - "nodeType": "Return", - "src": "1177:12:12" - } - ] - } - }, - { - "assignments": [ - 2551 - ], - "declarations": [ - { - "constant": false, - "id": 2551, - "mutability": "mutable", - "name": "ownableContract", - "nameLocation": "1274:15:12", - "nodeType": "VariableDeclaration", - "scope": 2575, - "src": "1266:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$147", - "typeString": "contract Ownable" - }, - "typeName": { - "id": 2550, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2549, - "name": "Ownable", - "nameLocations": [ - "1266:7:12" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 147, - "src": "1266:7:12" - }, - "referencedDeclaration": 147, - "src": "1266:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$147", - "typeString": "contract Ownable" - } - }, - "visibility": "internal" - } - ], - "id": 2556, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 2553, - "name": "attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2505, - "src": "1300:11:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1312:9:12", - "memberName": "recipient", - "nodeType": "MemberAccess", - "referencedDeclaration": 1634, - "src": "1300:21:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2552, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 147, - "src": "1292:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Ownable_$147_$", - "typeString": "type(contract Ownable)" - } - }, - "id": 2555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1292:30:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$147", - "typeString": "contract Ownable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1266:56:12" - }, - { - "clauses": [ - { - "block": { - "id": 2568, - "nodeType": "Block", - "src": "1385:125:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2563, - "name": "attestation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2505, - "src": "1470:11:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation calldata" - } - }, - "id": 2564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1482:8:12", - "memberName": "attester", - "nodeType": "MemberAccess", - "referencedDeclaration": 1636, - "src": "1470:20:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2565, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "1494:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1470:29:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2512, - "id": 2567, - "nodeType": "Return", - "src": "1463:36:12" - } - ] - }, - "errorName": "", - "id": 2569, - "nodeType": "TryCatchClause", - "parameters": { - "id": 2562, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2561, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1378:5:12", - "nodeType": "VariableDeclaration", - "scope": 2569, - "src": "1370:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1370:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1369:15:12" - }, - "src": "1361:149:12" - }, - { - "block": { - "id": 2572, - "nodeType": "Block", - "src": "1517:119:12", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 2570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1620:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2512, - "id": 2571, - "nodeType": "Return", - "src": "1613:12:12" - } - ] - }, - "errorName": "", - "id": 2573, - "nodeType": "TryCatchClause", - "src": "1511:125:12" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2557, - "name": "ownableContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2551, - "src": "1337:15:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$147", - "typeString": "contract Ownable" - } - }, - "id": 2558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1353:5:12", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 67, - "src": "1337:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1337:23:12", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2574, - "nodeType": "TryStatement", - "src": "1333:303:12" - } - ] - }, - "id": 2576, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onAttest", - "nameLocation": "459:8:12", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2509, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "535:8:12" - }, - "parameters": { - "id": 2508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2505, - "mutability": "mutable", - "name": "attestation", - "nameLocation": "489:11:12", - "nodeType": "VariableDeclaration", - "scope": 2576, - "src": "468:32:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 2504, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2503, - "name": "Attestation", - "nameLocations": [ - "468:11:12" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "468:11:12" - }, - "referencedDeclaration": 1641, - "src": "468:11:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2507, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2576, - "src": "502:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "502:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "467:53:12" - }, - "returnParameters": { - "id": 2512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2511, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2576, - "src": "553:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2510, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "553:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "552:6:12" - }, - "scope": 2613, - "src": "450:1192:12", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2597, - "nodeType": "Block", - "src": "1731:530:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2584, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2578, - "src": "1749:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1754:6:12", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1749:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "hexValue": "3332", - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1764:2:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "1749:17:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4461746120746f6f2073686f7274", - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1768:16:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", - "typeString": "literal_string \"Data too short\"" - }, - "value": "Data too short" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e317ef9d09d12d6fc846d063aee6fbc5f7eb8a1938244a68f46e5a8680db4a94", - "typeString": "literal_string \"Data too short\"" - } - ], - "id": 2583, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1741:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1741:44:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2590, - "nodeType": "ExpressionStatement", - "src": "1741:44:12" - }, - { - "assignments": [ - 2592 - ], - "declarations": [ - { - "constant": false, - "id": 2592, - "mutability": "mutable", - "name": "extractedAddress", - "nameLocation": "1905:16:12", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "1897:24:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2591, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1897:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2593, - "nodeType": "VariableDeclarationStatement", - "src": "1897:24:12" - }, - { - "AST": { - "nativeSrc": "1940:273:12", - "nodeType": "YulBlock", - "src": "1940:273:12", - "statements": [ - { - "nativeSrc": "1954:40:12", - "nodeType": "YulAssignment", - "src": "1954:40:12", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "data", - "nativeSrc": "1984:4:12", - "nodeType": "YulIdentifier", - "src": "1984:4:12" - }, - { - "kind": "number", - "nativeSrc": "1990:2:12", - "nodeType": "YulLiteral", - "src": "1990:2:12", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "1980:3:12", - "nodeType": "YulIdentifier", - "src": "1980:3:12" - }, - "nativeSrc": "1980:13:12", - "nodeType": "YulFunctionCall", - "src": "1980:13:12" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "1974:5:12", - "nodeType": "YulIdentifier", - "src": "1974:5:12" - }, - "nativeSrc": "1974:20:12", - "nodeType": "YulFunctionCall", - "src": "1974:20:12" - }, - "variableNames": [ - { - "name": "extractedAddress", - "nativeSrc": "1954:16:12", - "nodeType": "YulIdentifier", - "src": "1954:16:12" - } - ] - }, - { - "nativeSrc": "2076:85:12", - "nodeType": "YulAssignment", - "src": "2076:85:12", - "value": { - "arguments": [ - { - "name": "extractedAddress", - "nativeSrc": "2100:16:12", - "nodeType": "YulIdentifier", - "src": "2100:16:12" - }, - { - "kind": "number", - "nativeSrc": "2118:42:12", - "nodeType": "YulLiteral", - "src": "2118:42:12", - "type": "", - "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "2096:3:12", - "nodeType": "YulIdentifier", - "src": "2096:3:12" - }, - "nativeSrc": "2096:65:12", - "nodeType": "YulFunctionCall", - "src": "2096:65:12" - }, - "variableNames": [ - { - "name": "extractedAddress", - "nativeSrc": "2076:16:12", - "nodeType": "YulIdentifier", - "src": "2076:16:12" - } - ] - } - ] - }, - "evmVersion": "cancun", - "externalReferences": [ - { - "declaration": 2578, - "isOffset": false, - "isSlot": false, - "src": "1984:4:12", - "valueSize": 1 - }, - { - "declaration": 2592, - "isOffset": false, - "isSlot": false, - "src": "1954:16:12", - "valueSize": 1 - }, - { - "declaration": 2592, - "isOffset": false, - "isSlot": false, - "src": "2076:16:12", - "valueSize": 1 - }, - { - "declaration": 2592, - "isOffset": false, - "isSlot": false, - "src": "2100:16:12", - "valueSize": 1 - } - ], - "id": 2594, - "nodeType": "InlineAssembly", - "src": "1931:282:12" - }, - { - "expression": { - "id": 2595, - "name": "extractedAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2592, - "src": "2238:16:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 2582, - "id": 2596, - "nodeType": "Return", - "src": "2231:23:12" - } - ] - }, - "id": 2598, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "extractAddressFromData", - "nameLocation": "1657:22:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2578, - "mutability": "mutable", - "name": "data", - "nameLocation": "1693:4:12", - "nodeType": "VariableDeclaration", - "scope": 2598, - "src": "1680:17:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2577, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1680:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1679:19:12" - }, - "returnParameters": { - "id": 2582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2581, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2598, - "src": "1722:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1722:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1721:9:12" - }, - "scope": 2613, - "src": "1648:613:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 2396 - ], - "body": { - "id": 2611, - "nodeType": "Block", - "src": "2381:28:12", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2398:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2608, - "id": 2610, - "nodeType": "Return", - "src": "2391:11:12" - } - ] - }, - "id": 2612, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onRevoke", - "nameLocation": "2277:8:12", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2605, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2357:8:12" - }, - "parameters": { - "id": 2604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2601, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "2286:20:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_calldata_ptr", - "typeString": "struct Attestation" - }, - "typeName": { - "id": 2600, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2599, - "name": "Attestation", - "nameLocations": [ - "2286:11:12" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1641, - "src": "2286:11:12" - }, - "referencedDeclaration": 1641, - "src": "2286:11:12", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Attestation_$1641_storage_ptr", - "typeString": "struct Attestation" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2603, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "2324:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2324:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2285:57:12" - }, - "returnParameters": { - "id": 2608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2607, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2612, - "src": "2375:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2606, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2375:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2374:6:12" - }, - "scope": 2613, - "src": "2268:141:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2614, - "src": "344:2067:12", - "usedErrors": [ - 1601, - 1605, - 1607, - 2108, - 2110 - ], - "usedEvents": [] - } - ], - "src": "32:2379:12" - }, - "id": 12 - } - } - } -} \ No newline at end of file diff --git a/data_entry/ownable-resolver/ownable-resolver.sol b/data_entry/ownable-resolver/ownable-resolver.sol deleted file mode 100644 index 53deb55..0000000 --- a/data_entry/ownable-resolver/ownable-resolver.sol +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import { SchemaResolver } from "EAS/SchemaResolver.sol"; -import { IEAS, Attestation } from "EAS/IEAS.sol"; -import "@openzeppelin/contracts/access/Ownable.sol"; - -/** - * @title A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient. - */ -contract OwnerRecipientResolver is SchemaResolver { - constructor(IEAS eas) SchemaResolver(eas) {} - - function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) { - - // Return true if the attestation.recipient field is empty (zero address) - if (attestation.recipient == address(0)) { - return true; - } - - // Check if the attestation.recipient is a contract - if (attestation.recipient.code.length == 0) { - return false; - } - - // Extract _address field from attestation.data - address _address = extractAddressFromData(attestation.data); - - // Only allow the attestation if the to be attested contract _address is also the recipient - if (attestation.recipient != _address) { - return false; - } - - // Try to cast the recipient address to Ownable - Ownable ownableContract = Ownable(attestation.recipient); - - try ownableContract.owner() returns (address owner) { - // Check if the sender is the owner of the contract - return attestation.attester == owner; - } catch { - // If the call to owner() fails, it means the contract is not Ownable - return false; - } - } - - function extractAddressFromData(bytes memory data) internal pure returns (address) { - require(data.length >= 32, "Data too short"); - - // The address is at index 12 of the first 32 bytes (right-aligned in ABI encoding). - address extractedAddress; - assembly { - extractedAddress := mload(add(data, 32)) // Load the first 32 bytes, which includes the address at offset 12. - extractedAddress := and(extractedAddress, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) // Mask the last 20 bytes (address size). - } - - return extractedAddress; - } - - - function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) { - return true; - } -} \ No newline at end of file diff --git a/data_entry/ownable-resolver/resolver.sol b/data_entry/ownable-resolver/resolver.sol new file mode 100644 index 0000000..f98c4e9 --- /dev/null +++ b/data_entry/ownable-resolver/resolver.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import { SchemaResolver } from "EAS/SchemaResolver.sol"; +import { IEAS, Attestation } from "EAS/IEAS.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; + +/** + * @title A schema resolver that checks whether the sender is the owner of the contract behind attestation.recipient. + */ +contract OwnerRecipientResolver is SchemaResolver { + + constructor(IEAS eas) SchemaResolver(eas) {} + + function onAttest(Attestation calldata attestation, uint256 /*value*/) internal view override returns (bool) { + // Return false if the attestation.recipient field is empty (zero address) + if (attestation.recipient == address(0)) { + return false; + } + + // First we check if a OwnableCheck should be performed + bool ownableCheck = extractOwnableCheckFromData(attestation.data); + + // If OwnableCheck false, allow attestation + if (!ownableCheck) { + return true; + } + + // First we make sure the attestation.recipient is a contract, else return false + if (attestation.recipient.code.length == 0) { + return false; + } + + // Second we make sure the input chain_id matches chainId + uint256 currentChainId; + assembly { + currentChainId := chainid() + } + + uint256 expectedChainId = extractChainIdFromData(attestation.data); + if (currentChainId != expectedChainId) { + return false; + } + + // Third we cast the recipient address to Ownable + Ownable ownableContract = Ownable(attestation.recipient); + + try ownableContract.owner() returns (address owner) { + bool isOwner = attestation.attester == owner; + return isOwner; + } catch { + return false; + } + } + + function extractChainIdFromData(bytes memory data) internal pure returns (uint256) { + require(data.length >= 32, "Data too short"); // Make sure we have enough data to read from position 3 + + // The chain ID is at the first 32-byte slot in the data + uint256 extractedValue; + assembly { + extractedValue := mload(add(data, 32)) + } + + return extractedValue; + } + + function extractOwnableCheckFromData(bytes memory data) internal pure returns (bool) { + require(data.length >= 64, "Data too short"); + + // Extract the OwnerCheck from position 2, but we're only interested in the last bit + uint256 extractedValue; + assembly { + extractedValue := mload(add(data, 64)) // Load the first 64 bytes + extractedValue := and(extractedValue, 0x1) // Mask only the last bit + } + + return extractedValue == 1; + } + + function onRevoke(Attestation calldata /*attestation*/, uint256 /*value*/) internal pure override returns (bool) { + return true; + } +} \ No newline at end of file diff --git a/data_entry/ownable-resolver/scripts/etherscan/receiptGuidScript.ts b/data_entry/ownable-resolver/scripts/etherscan/receiptGuidScript.ts deleted file mode 100644 index b5bdeb3..0000000 --- a/data_entry/ownable-resolver/scripts/etherscan/receiptGuidScript.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @param {string} apikey - etherscan api key - * @param {string} guid - receipt id - * @param {boolean} isProxyContract - true, if contract is a proxy contract (optional) - * @returns {{ status, message, succeed }} receiptStatus - */ -export const receiptStatus = async (apikey: string, guid: string, isProxyContract?: boolean) => { - return await remix.call('etherscan' as any, 'receiptStatus', guid, apikey, isProxyContract) -} \ No newline at end of file