Skip to content

Instantly share code, notes, and snippets.

@mverzilli
Created August 19, 2022 09:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mverzilli/506bff068172583d4d82ef53ba01e26c to your computer and use it in GitHub Desktop.
Save mverzilli/506bff068172583d4d82ef53ba01e26c to your computer and use it in GitHub Desktop.
compile-artifact
This file has been truncated, but you can view the full file.
{
"id": "1c0394f32c0868f623d0d7a071078ffb",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.2",
"solcLongVersion": "0.8.2+commit.661d1103",
"input": {
"language": "Solidity",
"sources": {
"contracts/Proxiable.sol": {
"content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nlibrary StorageSlot {\n struct AddressSlot { address value; }\n struct BooleanSlot { bool value; }\n struct Bytes32Slot { bytes32 value; }\n struct Uint256Slot { uint256 value; }\n\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) { assembly { r.slot := slot } }\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) { assembly { r.slot := slot } }\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) { assembly { r.slot := slot } }\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) { assembly { r.slot := slot } }\n\n // TODO: add other types\n}\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize, which returns 0 for contracts in\n // construction, since the code is only stored at the end of the\n // constructor execution.\n\n uint256 size;\n // solhint-disable-next-line no-inline-assembly\n assembly { size := extcodesize(account) }\n return size > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\n (bool success, ) = recipient.call{ value: amount }(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain`call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n require(isContract(target), \"Address: call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.call{ value: value }(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {\n require(isContract(target), \"Address: static call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.staticcall(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n require(isContract(target), \"Address: delegate call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n\n // solhint-disable-next-line no-inline-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {BeaconProxy} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n\n/**\n * @dev This abstract contract provide setters and getters for the different\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] storage slots.\n */\nabstract contract ERC1967Storage {\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1, and is\n * validated in the constructor.\n */\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev Returns the current implementation address.\n */\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the EIP1967 implementation slot.\n */\n function _setImplementation(address newImplementation) internal {\n require(Address.isContract(newImplementation), \"ERC1967: new implementation is not a contract\");\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor.\n */\n bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Returns the current beacon.\n */\n function _getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(_BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the EIP1967 beacon slot.\n */\n function _setBeacon(address newBeacon) internal {\n require(\n Address.isContract(newBeacon),\n \"ERC1967: new beacon is not a contract\"\n );\n require(\n Address.isContract(IBeacon(newBeacon).implementation()),\n \"ERC1967: beacon implementation is not a contract\"\n );\n StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon;\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1, and is\n * validated in the constructor.\n */\n bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Returns the current admin.\n */\n function _getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(_ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the EIP1967 admin slot.\n */\n function _setAdmin(address newAdmin) internal {\n require(newAdmin != address(0), \"ERC1967: new admin is the zero address\");\n StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin;\n }\n}\n\n/**\n * @dev This abstract contract provides event emiting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.\n */\nabstract contract ERC1967Upgrade is ERC1967Storage {\n // This is the keccak-256 hash of \"eip1967.proxy.upgradePending\" subtracted by 1\n bytes32 internal constant _UPGRADE_PENDING_SLOT = 0x39c07022fef61edd40345eccc814df883dce06b1b65a92ff48ae275074d292ee;\n\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Emitted when the beacon is upgraded.\n */\n event BeaconUpgraded(address indexed beacon);\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Perform implementation upgrade (with additional setup call)\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeToAndCall(address newImplementation, bytes memory data) internal {\n _upgradeToAndCall(newImplementation, data, false);\n }\n\n function _upgradeToAndCall(address newImplementation, bytes memory data, bool forceCall) internal {\n _setImplementation(newImplementation);\n emit Upgraded(newImplementation);\n if (data.length > 0 || forceCall) {\n Address.functionDelegateCall(newImplementation, data);\n }\n }\n\n /**\n * @dev Perform implementation upgrade (with security checks and additional setup call)\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeToAndCallSecure(address newImplementation, bytes memory data) internal {\n _upgradeToAndCallSecure(newImplementation, data, false);\n }\n\n function _upgradeToAndCallSecure(address newImplementation, bytes memory data, bool forceCall) internal {\n address oldImplementation = _getImplementation();\n // check if nested in an upgrade check\n StorageSlot.BooleanSlot storage upgradePending = StorageSlot.getBooleanSlot(_UPGRADE_PENDING_SLOT);\n // do inital upgrade\n _setImplementation(newImplementation);\n // do setup call\n if (data.length > 0 || forceCall) {\n Address.functionDelegateCall(newImplementation, data);\n }\n if (!upgradePending.value) {\n // trigger upgrade check with flag set to true\n upgradePending.value = true;\n Address.functionDelegateCall(\n newImplementation,\n abi.encodeWithSignature(\n \"upgradeTo(address)\",\n oldImplementation\n )\n );\n upgradePending.value = false;\n // check upgrade was effective\n require(oldImplementation == _getImplementation(), \"ERC1967Upgrade: upgrade breaks further upgrades\");\n // reset upgrade\n _setImplementation(newImplementation);\n // emit event\n emit Upgraded(newImplementation);\n }\n }\n\n /**\n * @dev Perform implementation upgrade (with addition delegate call)\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal {\n _upgradeBeaconToAndCall(newBeacon, data, false);\n }\n\n function _upgradeBeaconToAndCall(address newBeacon, bytes memory data, bool forceCall) internal {\n _setBeacon(newBeacon);\n emit BeaconUpgraded(newBeacon);\n if (data.length > 0 || forceCall) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n }\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {AdminChanged} event.\n */\n function _changeAdmin(address newAdmin) internal {\n emit AdminChanged(_getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n}\n\nabstract contract Proxiable is ERC1967Upgrade {\n function upgradeTo(address newImplementation) external virtual {\n _beforeUpgrade(newImplementation);\n _upgradeToAndCallSecure(newImplementation, bytes(\"\"));\n }\n\n function upgradeToAndCall(address newImplementation, bytes memory data) external payable virtual {\n _beforeUpgrade(newImplementation);\n _upgradeToAndCallSecure(newImplementation, data, true);\n }\n\n function _beforeUpgrade(address newImplementation) internal virtual;\n}\n\n/**\n * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n * be specified by overriding the virtual {_implementation} function.\n *\n * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n * different contract through the {_delegate} function.\n *\n * The success and return data of the delegated call will be returned back to the caller of the proxy.\n */\nabstract contract Proxy {\n /**\n * @dev Delegates the current call to `implementation`.\n *\n * This function does not return to its internall call site, it will return directly to the external caller.\n */\n function _delegate(address implementation) internal virtual {\n // solhint-disable-next-line no-inline-assembly\n assembly {\n // Copy msg.data. We take full control of memory in this inline assembly\n // block because it will not return to Solidity code. We overwrite the\n // Solidity scratch pad at memory position 0.\n calldatacopy(0, 0, calldatasize())\n\n // Call the implementation.\n // out and outsize are 0 because we don't know the size yet.\n let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)\n\n // Copy the returned data.\n returndatacopy(0, 0, returndatasize())\n\n switch result\n // delegatecall returns 0 on error.\n case 0 { revert(0, returndatasize()) }\n default { return(0, returndatasize()) }\n }\n }\n\n /**\n * @dev This is a virtual function that should be overriden so it returns the address to which the fallback function\n * and {_fallback} should delegate.\n */\n function _implementation() internal view virtual returns (address);\n\n /**\n * @dev Delegates the current call to the address returned by `_implementation()`.\n *\n * This function does not return to its internall call site, it will return directly to the external caller.\n */\n function _fallback() internal virtual {\n _beforeFallback();\n _delegate(_implementation());\n }\n\n /**\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n * function in the contract matches the call data.\n */\n fallback () external payable virtual {\n _fallback();\n }\n\n /**\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data\n * is empty.\n */\n receive () external payable virtual {\n _fallback();\n }\n\n /**\n * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`\n * call, or as part of the Solidity `fallback` or `receive` functions.\n *\n * If overriden should call `super._beforeFallback()`.\n */\n function _beforeFallback() internal virtual {\n }\n}\n\n\n/**\n * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n * implementation address that can be changed. This address is stored in storage in the location specified by\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\n * implementation behind the proxy.\n */\ncontract ERC1967Proxy is Proxy, ERC1967Upgrade {\n /**\n * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.\n *\n * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded\n * function call, and allows initializating the storage of the proxy like a Solidity constructor.\n */\n constructor(address _logic, bytes memory _data) payable {\n assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256(\"eip1967.proxy.implementation\")) - 1));\n _upgradeToAndCall(_logic, _data);\n }\n\n /**\n * @dev Returns the current implementation address of the associated beacon.\n */\n function _implementation() internal view virtual override returns (address impl) {\n return ERC1967Storage._getImplementation();\n }\n}\n"
},
"contracts/VaultUUPS.sol": {
"content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./Proxiable.sol\";\nimport \"./Vault.sol\";\n\ncontract VaultProxiable is Vault, Proxiable {\n function _beforeUpgrade(address newImplementation) internal virtual override onlyAdmin {\n }\n}\n\ncontract VaultProxiableV2 is VaultV2, Proxiable {\n function _beforeUpgrade(address newImplementation) internal virtual override onlyAdmin {\n }\n}\n\ncontract VaultProxiableV3 is VaultV3, Proxiable {\n function _beforeUpgrade(address newImplementation) internal virtual override onlyAdmin {\n }\n}"
},
"contracts/Vault.sol": {
"content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract Vault {\n uint256 public feePercentage;\n uint256 public feesCollected;\n address public admin;\n address payable public wallet;\n \n mapping(address => uint256) public balances;\n \n event Sweeped(address wallet, uint256 value);\n event Deposited(address from, uint256 value, uint256 fee);\n event Withdrawn(address to, uint256 value);\n event FeeChanged(uint256 newFee);\n \n modifier onlyAdmin() {\n require(msg.sender == admin, \"Unauthorized\");\n _;\n }\n\n function initialize(uint256 _fee, address _admin, address payable _wallet) public {\n require(admin == address(0), \"Already initialized\");\n wallet = _wallet;\n admin = _admin;\n feePercentage = _fee;\n }\n\n function version() public virtual pure returns (string memory) {\n return \"v1\";\n }\n\n function deposit() public virtual payable {\n uint256 fee = msg.value * feePercentage / 100;\n balances[msg.sender] += (msg.value - fee);\n feesCollected += fee;\n emit Deposited(msg.sender, msg.value, fee);\n }\n\n function withdraw() public virtual {\n uint256 funds = balances[msg.sender];\n balances[msg.sender] = 0;\n payable(msg.sender).transfer(funds);\n emit Withdrawn(msg.sender, funds);\n }\n \n function setFee(uint256 _fee) onlyAdmin public {\n feePercentage = _fee;\n emit FeeChanged(_fee);\n }\n\n function sweep() public {\n wallet.transfer(feesCollected);\n emit Sweeped(wallet, feesCollected);\n feesCollected = 0;\n }\n}\n\ncontract VaultV2 is Vault {\n bool public paused;\n\n event Paused();\n event Unpaused();\n\n modifier whenNotPaused() {\n require(!paused, \"Contract is paused\");\n _;\n }\n\n function version() public override virtual pure returns (string memory) {\n return \"v2\";\n }\n\n function pause() public {\n require(!paused, \"Contract already paused\");\n paused = true;\n emit Paused();\n }\n\n function unpause() public {\n require(paused, \"Contract not paused\");\n paused = false;\n emit Unpaused();\n }\n\n function withdraw() public override whenNotPaused {\n super.withdraw();\n }\n\n function deposit() public payable override whenNotPaused {\n super.deposit();\n }\n}\n\ncontract VaultV3 is VaultV2 {\n function version() public override pure returns (string memory) {\n return \"v3.0\";\n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"abi",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers"
],
"": [
"ast"
]
}
}
}
},
"output": {
"contracts": {
"contracts/Proxiable.sol": {
"Address": {
"abi": [],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d0e2dc4255e701f21ae2118607929d00898f40e30b4f7ed9670533650b8e9c2664736f6c63430008020033",
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD0 0xE2 0xDC TIMESTAMP SSTORE 0xE7 ADD CALLCODE BYTE 0xE2 GT DUP7 SMOD SWAP3 SWAP14 STOP DUP10 DUP16 BLOCKHASH 0xE3 SIGNEXTEND 0x4F PUSH31 0xD9670533650B8E9C2664736F6C634300080200330000000000000000000000 ",
"sourceMap": "827:7684:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d0e2dc4255e701f21ae2118607929d00898f40e30b4f7ed9670533650b8e9c2664736f6c63430008020033",
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD0 0xE2 0xDC TIMESTAMP SSTORE 0xE7 ADD CALLCODE BYTE 0xE2 GT DUP7 SMOD SWAP3 SWAP14 STOP DUP10 DUP16 BLOCKHASH 0xE3 SIGNEXTEND 0x4F PUSH31 0xD9670533650B8E9C2664736F6C634300080200330000000000000000000000 ",
"sourceMap": "827:7684:0:-:0;;;;;;;;"
},
"methodIdentifiers": {}
}
},
"ERC1967Proxy": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_logic",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"stateMutability": "payable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"evm": {
"bytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7562:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "101:258:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "111:74:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "177:6:3"
}
],
"functionName": {
"name": "array_allocation_size_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "136:40:3"
},
"nodeType": "YulFunctionCall",
"src": "136:48:3"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "120:15:3"
},
"nodeType": "YulFunctionCall",
"src": "120:65:3"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "111:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "201:5:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "208:6:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "194:6:3"
},
"nodeType": "YulFunctionCall",
"src": "194:21:3"
},
"nodeType": "YulExpressionStatement",
"src": "194:21:3"
},
{
"nodeType": "YulVariableDeclaration",
"src": "224:27:3",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "239:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "246:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "235:3:3"
},
"nodeType": "YulFunctionCall",
"src": "235:16:3"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "228:3:3",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "289:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "298:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "301:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "291:6:3"
},
"nodeType": "YulFunctionCall",
"src": "291:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "291:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "270:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "275:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "266:3:3"
},
"nodeType": "YulFunctionCall",
"src": "266:16:3"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "284:3:3"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "263:2:3"
},
"nodeType": "YulFunctionCall",
"src": "263:25:3"
},
"nodeType": "YulIf",
"src": "260:2:3"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "336:3:3"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "341:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "346:6:3"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "314:21:3"
},
"nodeType": "YulFunctionCall",
"src": "314:39:3"
},
"nodeType": "YulExpressionStatement",
"src": "314:39:3"
}
]
},
"name": "abi_decode_available_length_t_bytes_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "74:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "79:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "87:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "95:5:3",
"type": ""
}
],
"src": "7:352:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "428:80:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "438:22:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "453:6:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "447:5:3"
},
"nodeType": "YulFunctionCall",
"src": "447:13:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "438:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "496:5:3"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "469:26:3"
},
"nodeType": "YulFunctionCall",
"src": "469:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "469:33:3"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "406:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "414:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "422:5:3",
"type": ""
}
],
"src": "365:143:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "599:214:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "648:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "657:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "660:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "650:6:3"
},
"nodeType": "YulFunctionCall",
"src": "650:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "650:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "627:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "635:4:3",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "623:3:3"
},
"nodeType": "YulFunctionCall",
"src": "623:17:3"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "642:3:3"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "619:3:3"
},
"nodeType": "YulFunctionCall",
"src": "619:27:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "612:6:3"
},
"nodeType": "YulFunctionCall",
"src": "612:35:3"
},
"nodeType": "YulIf",
"src": "609:2:3"
},
{
"nodeType": "YulVariableDeclaration",
"src": "673:27:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "693:6:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "687:5:3"
},
"nodeType": "YulFunctionCall",
"src": "687:13:3"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "677:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "709:98:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "788:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "776:3:3"
},
"nodeType": "YulFunctionCall",
"src": "776:17:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "795:6:3"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "803:3:3"
}
],
"functionName": {
"name": "abi_decode_available_length_t_bytes_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "718:57:3"
},
"nodeType": "YulFunctionCall",
"src": "718:89:3"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "709:5:3"
}
]
}
]
},
"name": "abi_decode_t_bytes_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "577:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "585:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "593:5:3",
"type": ""
}
],
"src": "527:286:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "922:441:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "968:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "977:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "980:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "970:6:3"
},
"nodeType": "YulFunctionCall",
"src": "970:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "970:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "943:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "952:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "939:3:3"
},
"nodeType": "YulFunctionCall",
"src": "939:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "964:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "935:3:3"
},
"nodeType": "YulFunctionCall",
"src": "935:32:3"
},
"nodeType": "YulIf",
"src": "932:2:3"
},
{
"nodeType": "YulBlock",
"src": "994:128:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1009:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1023:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1013:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1038:74:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1084:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1095:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1080:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1080:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1104:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "1048:31:3"
},
"nodeType": "YulFunctionCall",
"src": "1048:64:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1038:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1132:224:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1147:39:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1171:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1182:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1167:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1167:18:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1161:5:3"
},
"nodeType": "YulFunctionCall",
"src": "1161:25:3"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1151:6:3",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1233:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1242:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1245:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1235:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1235:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "1235:12:3"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1205:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1213:18:3",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1202:2:3"
},
"nodeType": "YulFunctionCall",
"src": "1202:30:3"
},
"nodeType": "YulIf",
"src": "1199:2:3"
},
{
"nodeType": "YulAssignment",
"src": "1263:83:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1318:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1329:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1314:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1314:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1338:7:3"
}
],
"functionName": {
"name": "abi_decode_t_bytes_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "1273:40:3"
},
"nodeType": "YulFunctionCall",
"src": "1273:73:3"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1263:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "884:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "895:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "907:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "915:6:3",
"type": ""
}
],
"src": "819:544:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1477:265:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1487:52:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1533:5:3"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1501:31:3"
},
"nodeType": "YulFunctionCall",
"src": "1501:38:3"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1491:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1548:95:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1631:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1636:6:3"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "1555:75:3"
},
"nodeType": "YulFunctionCall",
"src": "1555:88:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1548:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1678:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1685:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1674:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1674:16:3"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1692:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1697:6:3"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "1652:21:3"
},
"nodeType": "YulFunctionCall",
"src": "1652:52:3"
},
"nodeType": "YulExpressionStatement",
"src": "1652:52:3"
},
{
"nodeType": "YulAssignment",
"src": "1713:23:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1724:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1729:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1720:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1720:16:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1713:3:3"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1458:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1465:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1473:3:3",
"type": ""
}
],
"src": "1369:373:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1840:272:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1850:53:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1897:5:3"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1864:32:3"
},
"nodeType": "YulFunctionCall",
"src": "1864:39:3"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1854:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1912:78:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1978:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1983:6:3"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1919:58:3"
},
"nodeType": "YulFunctionCall",
"src": "1919:71:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1912:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2025:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2032:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2021:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2021:16:3"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2039:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2044:6:3"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "1999:21:3"
},
"nodeType": "YulFunctionCall",
"src": "1999:52:3"
},
"nodeType": "YulExpressionStatement",
"src": "1999:52:3"
},
{
"nodeType": "YulAssignment",
"src": "2060:46:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2071:3:3"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2098:6:3"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2076:21:3"
},
"nodeType": "YulFunctionCall",
"src": "2076:29:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2067:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2067:39:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2060:3:3"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1821:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1828:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1836:3:3",
"type": ""
}
],
"src": "1748:364:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2264:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2274:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2340:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2345:2:3",
"type": "",
"value": "45"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2281:58:3"
},
"nodeType": "YulFunctionCall",
"src": "2281:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2274:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2446:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65",
"nodeType": "YulIdentifier",
"src": "2357:88:3"
},
"nodeType": "YulFunctionCall",
"src": "2357:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "2357:93:3"
},
{
"nodeType": "YulAssignment",
"src": "2459:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2470:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2475:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2466:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2466:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2459:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2252:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2260:3:3",
"type": ""
}
],
"src": "2118:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2636:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2646:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2712:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2717:2:3",
"type": "",
"value": "38"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2653:58:3"
},
"nodeType": "YulFunctionCall",
"src": "2653:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2646:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2818:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520",
"nodeType": "YulIdentifier",
"src": "2729:88:3"
},
"nodeType": "YulFunctionCall",
"src": "2729:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "2729:93:3"
},
{
"nodeType": "YulAssignment",
"src": "2831:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2842:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2847:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2838:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2838:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2831:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2624:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2632:3:3",
"type": ""
}
],
"src": "2490:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2996:137:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3007:100:3",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3094:6:3"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3103:3:3"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3014:79:3"
},
"nodeType": "YulFunctionCall",
"src": "3014:93:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3007:3:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3117:10:3",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3124:3:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3117:3:3"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2975:3:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2981:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2992:3:3",
"type": ""
}
],
"src": "2862:271:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3257:195:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3267:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3279:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3290:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3275:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3275:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3267:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3314:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3325:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3310:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3310:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3333:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3339:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3329:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3329:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3303:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3303:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "3303:47:3"
},
{
"nodeType": "YulAssignment",
"src": "3359:86:3",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3431:6:3"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3440:4:3"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3367:63:3"
},
"nodeType": "YulFunctionCall",
"src": "3367:78:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3359:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3229:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3241:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3252:4:3",
"type": ""
}
],
"src": "3139:313:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3629:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3639:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3651:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3662:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3647:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3647:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3639:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3686:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3697:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3682:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3682:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3705:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3711:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3701:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3701:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3675:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3675:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "3675:47:3"
},
{
"nodeType": "YulAssignment",
"src": "3731:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3865:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3739:124:3"
},
"nodeType": "YulFunctionCall",
"src": "3739:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3731:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3609:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3624:4:3",
"type": ""
}
],
"src": "3458:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4054:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4064:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4076:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4087:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4072:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4072:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4064:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4111:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4122:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4107:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4107:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4130:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4136:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4126:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4126:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4100:6:3"
},
"nodeType": "YulFunctionCall",
"src": "4100:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "4100:47:3"
},
{
"nodeType": "YulAssignment",
"src": "4156:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4290:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4164:124:3"
},
"nodeType": "YulFunctionCall",
"src": "4164:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4156:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4034:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4049:4:3",
"type": ""
}
],
"src": "3883:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4349:88:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4359:30:3",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4369:18:3"
},
"nodeType": "YulFunctionCall",
"src": "4369:20:3"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4359:6:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4418:6:3"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4426:4:3"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4398:19:3"
},
"nodeType": "YulFunctionCall",
"src": "4398:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "4398:33:3"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4333:4:3",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4342:6:3",
"type": ""
}
],
"src": "4308:129:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4483:35:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4493:19:3",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4509:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4503:5:3"
},
"nodeType": "YulFunctionCall",
"src": "4503:9:3"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4493:6:3"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4476:6:3",
"type": ""
}
],
"src": "4443:75:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4590:241:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4695:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4697:16:3"
},
"nodeType": "YulFunctionCall",
"src": "4697:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "4697:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4667:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4675:18:3",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4664:2:3"
},
"nodeType": "YulFunctionCall",
"src": "4664:30:3"
},
"nodeType": "YulIf",
"src": "4661:2:3"
},
{
"nodeType": "YulAssignment",
"src": "4727:37:3",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4757:6:3"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4735:21:3"
},
"nodeType": "YulFunctionCall",
"src": "4735:29:3"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4727:4:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4801:23:3",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4813:4:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4819:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4809:15:3"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4801:4:3"
}
]
}
]
},
"name": "array_allocation_size_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4574:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4585:4:3",
"type": ""
}
],
"src": "4524:307:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4895:40:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4906:22:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4922:5:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4916:5:3"
},
"nodeType": "YulFunctionCall",
"src": "4916:12:3"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4906:6:3"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4878:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4888:6:3",
"type": ""
}
],
"src": "4837:98:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:40:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5011:22:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5027:5:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5021:5:3"
},
"nodeType": "YulFunctionCall",
"src": "5021:12:3"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5011:6:3"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4983:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4993:6:3",
"type": ""
}
],
"src": "4941:99:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5159:34:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5169:18:3",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5184:3:3"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5169:11:3"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5131:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5136:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5147:11:3",
"type": ""
}
],
"src": "5046:147:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5295:73:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5312:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5317:6:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5305:6:3"
},
"nodeType": "YulFunctionCall",
"src": "5305:19:3"
},
"nodeType": "YulExpressionStatement",
"src": "5305:19:3"
},
{
"nodeType": "YulAssignment",
"src": "5333:29:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5352:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5357:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5348:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5348:14:3"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5333:11:3"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5267:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5272:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5283:11:3",
"type": ""
}
],
"src": "5199:169:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5419:146:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5429:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5452:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5434:17:3"
},
"nodeType": "YulFunctionCall",
"src": "5434:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5429:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5463:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5486:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5468:17:3"
},
"nodeType": "YulFunctionCall",
"src": "5468:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5463:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5510:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "5512:16:3"
},
"nodeType": "YulFunctionCall",
"src": "5512:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "5512:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5504:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5507:1:3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5501:2:3"
},
"nodeType": "YulFunctionCall",
"src": "5501:8:3"
},
"nodeType": "YulIf",
"src": "5498:2:3"
},
{
"nodeType": "YulAssignment",
"src": "5542:17:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5554:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5557:1:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5550:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5550:9:3"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "5542:4:3"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5405:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5408:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "5414:4:3",
"type": ""
}
],
"src": "5374:191:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5616:51:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5626:35:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5655:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "5637:17:3"
},
"nodeType": "YulFunctionCall",
"src": "5637:24:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5626:7:3"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5598:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5608:7:3",
"type": ""
}
],
"src": "5571:96:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5718:81:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5728:65:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5743:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5750:42:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5739:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5739:54:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5728:7:3"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5700:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5710:7:3",
"type": ""
}
],
"src": "5673:126:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5850:32:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5860:16:3",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5871:5:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5860:7:3"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5832:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5842:7:3",
"type": ""
}
],
"src": "5805:77:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5937:258:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5947:10:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5956:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "5951:1:3",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6016:63:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6041:3:3"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6046:1:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6037:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6037:11:3"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6060:3:3"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6065:1:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6056:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6056:11:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6050:5:3"
},
"nodeType": "YulFunctionCall",
"src": "6050:18:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6030:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6030:39:3"
},
"nodeType": "YulExpressionStatement",
"src": "6030:39:3"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5977:1:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5980:6:3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5974:2:3"
},
"nodeType": "YulFunctionCall",
"src": "5974:13:3"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "5988:19:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5990:15:3",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5999:1:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6002:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5995:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5995:10:3"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5990:1:3"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "5970:3:3",
"statements": []
},
"src": "5966:113:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6113:76:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "6163:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6168:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6159:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6159:16:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6177:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6152:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6152:27:3"
},
"nodeType": "YulExpressionStatement",
"src": "6152:27:3"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6094:1:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6097:6:3"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6091:2:3"
},
"nodeType": "YulFunctionCall",
"src": "6091:13:3"
},
"nodeType": "YulIf",
"src": "6088:2:3"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5919:3:3",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5924:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5929:6:3",
"type": ""
}
],
"src": "5888:307:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6244:238:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6254:58:3",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6276:6:3"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "6306:4:3"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "6284:21:3"
},
"nodeType": "YulFunctionCall",
"src": "6284:27:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6272:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6272:40:3"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "6258:10:3",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6423:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "6425:16:3"
},
"nodeType": "YulFunctionCall",
"src": "6425:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "6425:18:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6366:10:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6378:18:3",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6363:2:3"
},
"nodeType": "YulFunctionCall",
"src": "6363:34:3"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6402:10:3"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6414:6:3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6399:2:3"
},
"nodeType": "YulFunctionCall",
"src": "6399:22:3"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6360:2:3"
},
"nodeType": "YulFunctionCall",
"src": "6360:62:3"
},
"nodeType": "YulIf",
"src": "6357:2:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6461:2:3",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6465:10:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6454:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6454:22:3"
},
"nodeType": "YulExpressionStatement",
"src": "6454:22:3"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6230:6:3",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "6238:4:3",
"type": ""
}
],
"src": "6201:281:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6516:152:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6533:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6536:77:3",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6526:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6526:88:3"
},
"nodeType": "YulExpressionStatement",
"src": "6526:88:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6630:1:3",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6633:4:3",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6623:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6623:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "6623:15:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6654:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6657:4:3",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6647:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6647:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "6647:15:3"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6488:180:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6702:152:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6719:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6722:77:3",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6712:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6712:88:3"
},
"nodeType": "YulExpressionStatement",
"src": "6712:88:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6816:1:3",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6819:4:3",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6809:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6809:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "6809:15:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6840:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6843:4:3",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6833:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6833:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "6833:15:3"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "6674:180:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6908:54:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6918:38:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6936:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6943:2:3",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6932:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6932:14:3"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6952:2:3",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6948:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6948:7:3"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6928:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6928:28:3"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6918:6:3"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6891:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6901:6:3",
"type": ""
}
],
"src": "6860:102:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7074:126:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7096:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7104:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7092:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7092:14:3"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7108:34:3",
"type": "",
"value": "ERC1967: new implementation is n"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7085:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7085:58:3"
},
"nodeType": "YulExpressionStatement",
"src": "7085:58:3"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7164:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7172:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7160:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7160:15:3"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7177:15:3",
"type": "",
"value": "ot a contract"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7153:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7153:40:3"
},
"nodeType": "YulExpressionStatement",
"src": "7153:40:3"
}
]
},
"name": "store_literal_in_memory_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7066:6:3",
"type": ""
}
],
"src": "6968:232:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7312:119:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7334:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7342:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7330:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7330:14:3"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7346:34:3",
"type": "",
"value": "Address: delegate call to non-co"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7323:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7323:58:3"
},
"nodeType": "YulExpressionStatement",
"src": "7323:58:3"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7402:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7410:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7398:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7398:15:3"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7415:8:3",
"type": "",
"value": "ntract"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7391:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7391:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "7391:33:3"
}
]
},
"name": "store_literal_in_memory_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7304:6:3",
"type": ""
}
],
"src": "7206:225:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7480:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7537:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7546:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7549:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7539:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7539:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "7539:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7503:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7528:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "7510:17:3"
},
"nodeType": "YulFunctionCall",
"src": "7510:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "7500:2:3"
},
"nodeType": "YulFunctionCall",
"src": "7500:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7493:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7493:43:3"
},
"nodeType": "YulIf",
"src": "7490:2:3"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7473:5:3",
"type": ""
}
],
"src": "7437:122:3"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_bytes_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_memory_to_memory(src, dst, length)\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 // bytes\n function abi_decode_t_bytes_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := mload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_bytes_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\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(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_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 abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__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_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520__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_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function 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 checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC1967: new implementation is n\")\n\n mstore(add(memPtr, 32), \"ot a contract\")\n\n }\n\n function store_literal_in_memory_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: delegate call to non-co\")\n\n mstore(add(memPtr, 32), \"ntract\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 3,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405260405162000d3138038062000d31833981810160405281019062000029919062000471565b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd60001c6200005b9190620006a3565b60001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b14620000b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b620000c98282620000d160201b60201c565b5050620008af565b620000e582826000620000e960201b60201c565b5050565b620000fa836200016f60201b60201c565b8273ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a26000825111806200014b5750805b156200016a576200016883836200024560201b620000371760201c565b505b505050565b62000185816200027b60201b620000641760201c565b620001c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001be90620005ce565b60405180910390fd5b80620002017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200028e60201b620000771760201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606062000273838360405180606001604052806027815260200162000d0a602791396200029860201b60201c565b905092915050565b600080823b905060008111915050919050565b6000819050919050565b6060620002ab846200027b60201b60201c565b620002ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002e490620005f0565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168560405162000317919062000591565b600060405180830381855af49150503d806000811462000354576040519150601f19603f3d011682016040523d82523d6000602084013e62000359565b606091505b5091509150620003718282866200037c60201b60201c565b925050509392505050565b606083156200038e57829050620003e1565b600083511115620003a25782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003d89190620005aa565b60405180910390fd5b9392505050565b6000620003ff620003f9846200063b565b62000612565b9050828152602081018484840111156200041857600080fd5b620004258482856200071c565b509392505050565b6000815190506200043e8162000895565b92915050565b600082601f8301126200045657600080fd5b815162000468848260208601620003e8565b91505092915050565b600080604083850312156200048557600080fd5b600062000495858286016200042d565b925050602083015167ffffffffffffffff811115620004b357600080fd5b620004c18582860162000444565b9150509250929050565b6000620004d88262000671565b620004e4818562000687565b9350620004f68185602086016200071c565b80840191505092915050565b60006200050f826200067c565b6200051b818562000692565b93506200052d8185602086016200071c565b6200053881620007e6565b840191505092915050565b600062000552602d8362000692565b91506200055f82620007f7565b604082019050919050565b60006200057960268362000692565b9150620005868262000846565b604082019050919050565b60006200059f8284620004cb565b915081905092915050565b60006020820190508181036000830152620005c6818462000502565b905092915050565b60006020820190508181036000830152620005e98162000543565b9050919050565b600060208201905081810360008301526200060b816200056a565b9050919050565b60006200061e62000631565b90506200062c828262000752565b919050565b6000604051905090565b600067ffffffffffffffff821115620006595762000658620007b7565b5b6200066482620007e6565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000620006b08262000712565b9150620006bd8362000712565b925082821015620006d357620006d262000788565b5b828203905092915050565b6000620006eb82620006f2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156200073c5780820151818401526020810190506200071f565b838111156200074c576000848401525b50505050565b6200075d82620007e6565b810181811067ffffffffffffffff821117156200077f576200077e620007b7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60008201527f6e74726163740000000000000000000000000000000000000000000000000000602082015250565b620008a081620006de565b8114620008ac57600080fd5b50565b61044b80620008bf6000396000f3fe6080604052366100135761001161001d565b005b61001b61001d565b005b610025610081565b610035610030610083565b610092565b565b606061005c83836040518060600160405280602781526020016103ef602791396100b8565b905092915050565b600080823b905060008111915050919050565b6000819050919050565b565b600061008d610185565b905090565b3660008037600080366000845af43d6000803e80600081146100b3573d6000f35b3d6000fd5b60606100c384610064565b610102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100f990610309565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168560405161012a91906102d0565b600060405180830381855af49150503d8060008114610165576040519150601f19603f3d011682016040523d82523d6000602084013e61016a565b606091505b509150915061017a8282866101dc565b925050509392505050565b60006101b37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b610077565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606083156101ec5782905061023c565b6000835111156101ff5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023391906102e7565b60405180910390fd5b9392505050565b600061024e82610329565b610258818561033f565b935061026881856020860161035b565b80840191505092915050565b600061027f82610334565b610289818561034a565b935061029981856020860161035b565b6102a28161038e565b840191505092915050565b60006102ba60268361034a565b91506102c58261039f565b604082019050919050565b60006102dc8284610243565b915081905092915050565b600060208201905081810360008301526103018184610274565b905092915050565b60006020820190508181036000830152610322816102ad565b9050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60005b8381101561037957808201518184015260208101905061035e565b83811115610388576000848401525b50505050565b6000601f19601f8301169050919050565b7f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60008201527f6e7472616374000000000000000000000000000000000000000000000000000060208201525056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122064d09c99762070c5e31ded084df596520b0548410d8581c0c7cfbe47095aed7d64736f6c63430008020033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH3 0xD31 CODESIZE SUB DUP1 PUSH3 0xD31 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x29 SWAP2 SWAP1 PUSH3 0x471 JUMP JUMPDEST PUSH1 0x1 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBD PUSH1 0x0 SHR PUSH3 0x5B SWAP2 SWAP1 PUSH3 0x6A3 JUMP JUMPDEST PUSH1 0x0 SHL PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 SHL EQ PUSH3 0xB7 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0xC9 DUP3 DUP3 PUSH3 0xD1 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP PUSH3 0x8AF JUMP JUMPDEST PUSH3 0xE5 DUP3 DUP3 PUSH1 0x0 PUSH3 0xE9 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH3 0xFA DUP4 PUSH3 0x16F PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 DUP3 MLOAD GT DUP1 PUSH3 0x14B JUMPI POP DUP1 JUMPDEST ISZERO PUSH3 0x16A JUMPI PUSH3 0x168 DUP4 DUP4 PUSH3 0x245 PUSH1 0x20 SHL PUSH3 0x37 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH3 0x185 DUP2 PUSH3 0x27B PUSH1 0x20 SHL PUSH3 0x64 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x1C7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1BE SWAP1 PUSH3 0x5CE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH3 0x201 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 SHL PUSH3 0x28E PUSH1 0x20 SHL PUSH3 0x77 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x60 PUSH3 0x273 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0xD0A PUSH1 0x27 SWAP2 CODECOPY PUSH3 0x298 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 EXTCODESIZE SWAP1 POP PUSH1 0x0 DUP2 GT SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH3 0x2AB DUP5 PUSH3 0x27B PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x2ED JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x2E4 SWAP1 PUSH3 0x5F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x40 MLOAD PUSH3 0x317 SWAP2 SWAP1 PUSH3 0x591 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH3 0x354 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH3 0x359 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH3 0x371 DUP3 DUP3 DUP7 PUSH3 0x37C PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH3 0x38E JUMPI DUP3 SWAP1 POP PUSH3 0x3E1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD GT ISZERO PUSH3 0x3A2 JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x3D8 SWAP2 SWAP1 PUSH3 0x5AA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x3FF PUSH3 0x3F9 DUP5 PUSH3 0x63B JUMP JUMPDEST PUSH3 0x612 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x418 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x425 DUP5 DUP3 DUP6 PUSH3 0x71C JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x43E DUP2 PUSH3 0x895 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH3 0x468 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x3E8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x485 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0x495 DUP6 DUP3 DUP7 ADD PUSH3 0x42D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x4B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x4C1 DUP6 DUP3 DUP7 ADD PUSH3 0x444 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x4D8 DUP3 PUSH3 0x671 JUMP JUMPDEST PUSH3 0x4E4 DUP2 DUP6 PUSH3 0x687 JUMP JUMPDEST SWAP4 POP PUSH3 0x4F6 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x71C JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x50F DUP3 PUSH3 0x67C JUMP JUMPDEST PUSH3 0x51B DUP2 DUP6 PUSH3 0x692 JUMP JUMPDEST SWAP4 POP PUSH3 0x52D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0x71C JUMP JUMPDEST PUSH3 0x538 DUP2 PUSH3 0x7E6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x552 PUSH1 0x2D DUP4 PUSH3 0x692 JUMP JUMPDEST SWAP2 POP PUSH3 0x55F DUP3 PUSH3 0x7F7 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x579 PUSH1 0x26 DUP4 PUSH3 0x692 JUMP JUMPDEST SWAP2 POP PUSH3 0x586 DUP3 PUSH3 0x846 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x59F DUP3 DUP5 PUSH3 0x4CB JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x5C6 DUP2 DUP5 PUSH3 0x502 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x5E9 DUP2 PUSH3 0x543 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x60B DUP2 PUSH3 0x56A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x61E PUSH3 0x631 JUMP JUMPDEST SWAP1 POP PUSH3 0x62C DUP3 DUP3 PUSH3 0x752 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x659 JUMPI PUSH3 0x658 PUSH3 0x7B7 JUMP JUMPDEST JUMPDEST PUSH3 0x664 DUP3 PUSH3 0x7E6 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6B0 DUP3 PUSH3 0x712 JUMP JUMPDEST SWAP2 POP PUSH3 0x6BD DUP4 PUSH3 0x712 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH3 0x6D3 JUMPI PUSH3 0x6D2 PUSH3 0x788 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6EB DUP3 PUSH3 0x6F2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x73C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x71F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x74C JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH3 0x75D DUP3 PUSH3 0x7E6 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x77F JUMPI PUSH3 0x77E PUSH3 0x7B7 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x455243313936373A206E657720696D706C656D656E746174696F6E206973206E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F74206120636F6E747261637400000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416464726573733A2064656C65676174652063616C6C20746F206E6F6E2D636F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E74726163740000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0x8A0 DUP2 PUSH3 0x6DE JUMP JUMPDEST DUP2 EQ PUSH3 0x8AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x44B DUP1 PUSH3 0x8BF PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH2 0x13 JUMPI PUSH2 0x11 PUSH2 0x1D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B PUSH2 0x1D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x25 PUSH2 0x81 JUMP JUMPDEST PUSH2 0x35 PUSH2 0x30 PUSH2 0x83 JUMP JUMPDEST PUSH2 0x92 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5C DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3EF PUSH1 0x27 SWAP2 CODECOPY PUSH2 0xB8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 EXTCODESIZE SWAP1 POP PUSH1 0x0 DUP2 GT SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D PUSH2 0x185 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xB3 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 PUSH2 0xC3 DUP5 PUSH2 0x64 JUMP JUMPDEST PUSH2 0x102 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF9 SWAP1 PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x12A SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x165 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x16A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x17A DUP3 DUP3 DUP7 PUSH2 0x1DC JUMP JUMPDEST SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B3 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 SHL PUSH2 0x77 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1EC JUMPI DUP3 SWAP1 POP PUSH2 0x23C JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD GT ISZERO PUSH2 0x1FF JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x233 SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24E DUP3 PUSH2 0x329 JUMP JUMPDEST PUSH2 0x258 DUP2 DUP6 PUSH2 0x33F JUMP JUMPDEST SWAP4 POP PUSH2 0x268 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x35B JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27F DUP3 PUSH2 0x334 JUMP JUMPDEST PUSH2 0x289 DUP2 DUP6 PUSH2 0x34A JUMP JUMPDEST SWAP4 POP PUSH2 0x299 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x35B JUMP JUMPDEST PUSH2 0x2A2 DUP2 PUSH2 0x38E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BA PUSH1 0x26 DUP4 PUSH2 0x34A JUMP JUMPDEST SWAP2 POP PUSH2 0x2C5 DUP3 PUSH2 0x39F JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DC DUP3 DUP5 PUSH2 0x243 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x301 DUP2 DUP5 PUSH2 0x274 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x322 DUP2 PUSH2 0x2AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x379 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x35E JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x388 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416464726573733A2064656C65676174652063616C6C20746F206E6F6E2D636F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E74726163740000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C6564A264 PUSH10 0x7066735822122064D09C SWAP10 PUSH23 0x2070C5E31DED084DF596520B0548410D8581C0C7CFBE47 MULMOD GAS 0xED PUSH30 0x64736F6C63430008020033416464726573733A206C6F772D6C6576656C20 PUSH5 0x656C656761 PUSH21 0x652063616C6C206661696C65640000000000000000 ",
"sourceMap": "19604:848:0:-:0;;;19997:210;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20155:1;20110:41;20102:50;;:54;;;;:::i;:::-;20094:63;;9306:66;20070:20;;:87;20063:95;;;;;;;;;;;;20168:32;20186:6;20194:5;20168:17;;;:32;;:::i;:::-;19997:210;;19604:848;;12661:148;12753:49;12771:17;12790:4;12796:5;12753:17;;;:49;;:::i;:::-;12661:148;;:::o;12815:315::-;12923:37;12942:17;12923:18;;;:37;;:::i;:::-;12984:17;12975:27;;;;;;;;;;;;13030:1;13016:4;:11;:15;:28;;;;13035:9;13016:28;13012:112;;;13060:53;13089:17;13108:4;13060:28;;;;;:53;;:::i;:::-;;13012:112;12815:315;;;:::o;9682:260::-;9764:37;9783:17;9764:18;;;;;:37;;:::i;:::-;9756:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;9918:17;9861:48;9306:66;9888:20;;9861:26;;;;;:48;;:::i;:::-;:54;;;:74;;;;;;;;;;;;;;;;;;9682:260;:::o;6977:198::-;7060:12;7091:77;7112:6;7120:4;7091:77;;;;;;;;;;;;;;;;;:20;;;:77;;:::i;:::-;7084:84;;6977:198;;;;:::o;1419:413::-;1479:4;1682:12;1791:7;1779:20;1771:28;;1824:1;1817:4;:8;1810:15;;;1419:413;;;:::o;250:115::-;311:21;357:4;347:14;;345:18;;;:::o;7361:417::-;7472:12;7504:18;7515:6;7504:10;;;:18;;:::i;:::-;7496:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7636:12;7650:23;7677:6;:19;;7697:4;7677:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7635:67;;;;7719:52;7737:7;7746:10;7758:12;7719:17;;;:52;;:::i;:::-;7712:59;;;;7361:417;;;;;:::o;7784:725::-;7899:12;7927:7;7923:580;;;7957:10;7950:17;;;;7923:580;8088:1;8068:10;:17;:21;8064:429;;;8326:10;8320:17;8386:15;8373:10;8369:2;8365:19;8358:44;8275:145;8465:12;8458:20;;;;;;;;;;;:::i;:::-;;;;;;;;7784:725;;;;;;:::o;7:352:3:-;;120:65;136:48;177:6;136:48;:::i;:::-;120:65;:::i;:::-;111:74;;208:6;201:5;194:21;246:4;239:5;235:16;284:3;275:6;270:3;266:16;263:25;260:2;;;301:1;298;291:12;260:2;314:39;346:6;341:3;336;314:39;:::i;:::-;101:258;;;;;;:::o;365:143::-;;453:6;447:13;438:22;;469:33;496:5;469:33;:::i;:::-;428:80;;;;:::o;527:286::-;;642:3;635:4;627:6;623:17;619:27;609:2;;660:1;657;650:12;609:2;693:6;687:13;718:89;803:3;795:6;788:4;780:6;776:17;718:89;:::i;:::-;709:98;;599:214;;;;;:::o;819:544::-;;;964:2;952:9;943:7;939:23;935:32;932:2;;;980:1;977;970:12;932:2;1023:1;1048:64;1104:7;1095:6;1084:9;1080:22;1048:64;:::i;:::-;1038:74;;994:128;1182:2;1171:9;1167:18;1161:25;1213:18;1205:6;1202:30;1199:2;;;1245:1;1242;1235:12;1199:2;1273:73;1338:7;1329:6;1318:9;1314:22;1273:73;:::i;:::-;1263:83;;1132:224;922:441;;;;;:::o;1369:373::-;;1501:38;1533:5;1501:38;:::i;:::-;1555:88;1636:6;1631:3;1555:88;:::i;:::-;1548:95;;1652:52;1697:6;1692:3;1685:4;1678:5;1674:16;1652:52;:::i;:::-;1729:6;1724:3;1720:16;1713:23;;1477:265;;;;;:::o;1748:364::-;;1864:39;1897:5;1864:39;:::i;:::-;1919:71;1983:6;1978:3;1919:71;:::i;:::-;1912:78;;1999:52;2044:6;2039:3;2032:4;2025:5;2021:16;1999:52;:::i;:::-;2076:29;2098:6;2076:29;:::i;:::-;2071:3;2067:39;2060:46;;1840:272;;;;;:::o;2118:366::-;;2281:67;2345:2;2340:3;2281:67;:::i;:::-;2274:74;;2357:93;2446:3;2357:93;:::i;:::-;2475:2;2470:3;2466:12;2459:19;;2264:220;;;:::o;2490:366::-;;2653:67;2717:2;2712:3;2653:67;:::i;:::-;2646:74;;2729:93;2818:3;2729:93;:::i;:::-;2847:2;2842:3;2838:12;2831:19;;2636:220;;;:::o;2862:271::-;;3014:93;3103:3;3094:6;3014:93;:::i;:::-;3007:100;;3124:3;3117:10;;2996:137;;;;:::o;3139:313::-;;3290:2;3279:9;3275:18;3267:26;;3339:9;3333:4;3329:20;3325:1;3314:9;3310:17;3303:47;3367:78;3440:4;3431:6;3367:78;:::i;:::-;3359:86;;3257:195;;;;:::o;3458:419::-;;3662:2;3651:9;3647:18;3639:26;;3711:9;3705:4;3701:20;3697:1;3686:9;3682:17;3675:47;3739:131;3865:4;3739:131;:::i;:::-;3731:139;;3629:248;;;:::o;3883:419::-;;4087:2;4076:9;4072:18;4064:26;;4136:9;4130:4;4126:20;4122:1;4111:9;4107:17;4100:47;4164:131;4290:4;4164:131;:::i;:::-;4156:139;;4054:248;;;:::o;4308:129::-;;4369:20;;:::i;:::-;4359:30;;4398:33;4426:4;4418:6;4398:33;:::i;:::-;4349:88;;;:::o;4443:75::-;;4509:2;4503:9;4493:19;;4483:35;:::o;4524:307::-;;4675:18;4667:6;4664:30;4661:2;;;4697:18;;:::i;:::-;4661:2;4735:29;4757:6;4735:29;:::i;:::-;4727:37;;4819:4;4813;4809:15;4801:23;;4590:241;;;:::o;4837:98::-;;4922:5;4916:12;4906:22;;4895:40;;;:::o;4941:99::-;;5027:5;5021:12;5011:22;;5000:40;;;:::o;5046:147::-;;5184:3;5169:18;;5159:34;;;;:::o;5199:169::-;;5317:6;5312:3;5305:19;5357:4;5352:3;5348:14;5333:29;;5295:73;;;;:::o;5374:191::-;;5434:20;5452:1;5434:20;:::i;:::-;5429:25;;5468:20;5486:1;5468:20;:::i;:::-;5463:25;;5507:1;5504;5501:8;5498:2;;;5512:18;;:::i;:::-;5498:2;5557:1;5554;5550:9;5542:17;;5419:146;;;;:::o;5571:96::-;;5637:24;5655:5;5637:24;:::i;:::-;5626:35;;5616:51;;;:::o;5673:126::-;;5750:42;5743:5;5739:54;5728:65;;5718:81;;;:::o;5805:77::-;;5871:5;5860:16;;5850:32;;;:::o;5888:307::-;5956:1;5966:113;5980:6;5977:1;5974:13;5966:113;;;6065:1;6060:3;6056:11;6050:18;6046:1;6041:3;6037:11;6030:39;6002:2;5999:1;5995:10;5990:15;;5966:113;;;6097:6;6094:1;6091:13;6088:2;;;6177:1;6168:6;6163:3;6159:16;6152:27;6088:2;5937:258;;;;:::o;6201:281::-;6284:27;6306:4;6284:27;:::i;:::-;6276:6;6272:40;6414:6;6402:10;6399:22;6378:18;6366:10;6363:34;6360:62;6357:2;;;6425:18;;:::i;:::-;6357:2;6465:10;6461:2;6454:22;6244:238;;;:::o;6488:180::-;6536:77;6533:1;6526:88;6633:4;6630:1;6623:15;6657:4;6654:1;6647:15;6674:180;6722:77;6719:1;6712:88;6819:4;6816:1;6809:15;6843:4;6840:1;6833:15;6860:102;;6952:2;6948:7;6943:2;6936:5;6932:14;6928:28;6918:38;;6908:54;;;:::o;6968:232::-;7108:34;7104:1;7096:6;7092:14;7085:58;7177:15;7172:2;7164:6;7160:15;7153:40;7074:126;:::o;7206:225::-;7346:34;7342:1;7334:6;7330:14;7323:58;7415:8;7410:2;7402:6;7398:15;7391:33;7312:119;:::o;7437:122::-;7510:24;7528:5;7510:24;:::i;:::-;7503:5;7500:35;7490:2;;7549:1;7546;7539:12;7490:2;7480:79;:::o;19604:848:0:-;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3335:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "115:265:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "125:52:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "171:5:3"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "139:31:3"
},
"nodeType": "YulFunctionCall",
"src": "139:38:3"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "129:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "186:95:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "269:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "274:6:3"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "193:75:3"
},
"nodeType": "YulFunctionCall",
"src": "193:88:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "186:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "316:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "323:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "312:3:3"
},
"nodeType": "YulFunctionCall",
"src": "312:16:3"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "330:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "335:6:3"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "290:21:3"
},
"nodeType": "YulFunctionCall",
"src": "290:52:3"
},
"nodeType": "YulExpressionStatement",
"src": "290:52:3"
},
{
"nodeType": "YulAssignment",
"src": "351:23:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "362:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "367:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "358:3:3"
},
"nodeType": "YulFunctionCall",
"src": "358:16:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "351:3:3"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "96:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "103:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "111:3:3",
"type": ""
}
],
"src": "7:373:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "478:272:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "488:53:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "535:5:3"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "502:32:3"
},
"nodeType": "YulFunctionCall",
"src": "502:39:3"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "492:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "550:78:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "616:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "621:6:3"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "557:58:3"
},
"nodeType": "YulFunctionCall",
"src": "557:71:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "550:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "663:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "670:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "659:3:3"
},
"nodeType": "YulFunctionCall",
"src": "659:16:3"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "677:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "682:6:3"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "637:21:3"
},
"nodeType": "YulFunctionCall",
"src": "637:52:3"
},
"nodeType": "YulExpressionStatement",
"src": "637:52:3"
},
{
"nodeType": "YulAssignment",
"src": "698:46:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "709:3:3"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "736:6:3"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "714:21:3"
},
"nodeType": "YulFunctionCall",
"src": "714:29:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "705:3:3"
},
"nodeType": "YulFunctionCall",
"src": "705:39:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "698:3:3"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "459:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "466:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "474:3:3",
"type": ""
}
],
"src": "386:364:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "902:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "912:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "978:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "983:2:3",
"type": "",
"value": "38"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "919:58:3"
},
"nodeType": "YulFunctionCall",
"src": "919:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "912:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1084:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520",
"nodeType": "YulIdentifier",
"src": "995:88:3"
},
"nodeType": "YulFunctionCall",
"src": "995:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "995:93:3"
},
{
"nodeType": "YulAssignment",
"src": "1097:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1108:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1113:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1104:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1104:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1097:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "890:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "898:3:3",
"type": ""
}
],
"src": "756:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1262:137:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1273:100:3",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1360:6:3"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1369:3:3"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "1280:79:3"
},
"nodeType": "YulFunctionCall",
"src": "1280:93:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1273:3:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1383:10:3",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1390:3:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1383:3:3"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1241:3:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1247:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1258:3:3",
"type": ""
}
],
"src": "1128:271:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1523:195:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1533:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1545:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1556:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1541:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1541:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1533:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1580:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1591:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1576:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1576:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1599:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1605:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1595:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1595:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1569:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1569:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "1569:47:3"
},
{
"nodeType": "YulAssignment",
"src": "1625:86:3",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1697:6:3"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1706:4:3"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1633:63:3"
},
"nodeType": "YulFunctionCall",
"src": "1633:78:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1625:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1495:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1507:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1518:4:3",
"type": ""
}
],
"src": "1405:313:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1895:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1905:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1917:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1928:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1913:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1913:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1905:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1952:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1963:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1948:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1948:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1971:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1977:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1967:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1967:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1941:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1941:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "1941:47:3"
},
{
"nodeType": "YulAssignment",
"src": "1997:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2131:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2005:124:3"
},
"nodeType": "YulFunctionCall",
"src": "2005:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1997:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1875:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1890:4:3",
"type": ""
}
],
"src": "1724:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2207:40:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2218:22:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2234:5:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2228:5:3"
},
"nodeType": "YulFunctionCall",
"src": "2228:12:3"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2218:6:3"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2190:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2200:6:3",
"type": ""
}
],
"src": "2149:98:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2312:40:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2323:22:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2339:5:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2333:5:3"
},
"nodeType": "YulFunctionCall",
"src": "2333:12:3"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2323:6:3"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2295:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2305:6:3",
"type": ""
}
],
"src": "2253:99:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2471:34:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2481:18:3",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2496:3:3"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2481:11:3"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2443:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2448:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2459:11:3",
"type": ""
}
],
"src": "2358:147:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2607:73:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2624:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2629:6:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2617:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2617:19:3"
},
"nodeType": "YulExpressionStatement",
"src": "2617:19:3"
},
{
"nodeType": "YulAssignment",
"src": "2645:29:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2664:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2669:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2660:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2660:14:3"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2645:11:3"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2579:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2584:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2595:11:3",
"type": ""
}
],
"src": "2511:169:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2735:258:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2745:10:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2754:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2749:1:3",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2814:63:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2839:3:3"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2844:1:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2835:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2835:11:3"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2858:3:3"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2863:1:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2854:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2854:11:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2848:5:3"
},
"nodeType": "YulFunctionCall",
"src": "2848:18:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2828:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2828:39:3"
},
"nodeType": "YulExpressionStatement",
"src": "2828:39:3"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2775:1:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2778:6:3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2772:2:3"
},
"nodeType": "YulFunctionCall",
"src": "2772:13:3"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2786:19:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2788:15:3",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2797:1:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2800:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2793:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2793:10:3"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2788:1:3"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2768:3:3",
"statements": []
},
"src": "2764:113:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2911:76:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2961:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2966:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2957:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2957:16:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2975:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2950:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2950:27:3"
},
"nodeType": "YulExpressionStatement",
"src": "2950:27:3"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2892:1:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2895:6:3"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2889:2:3"
},
"nodeType": "YulFunctionCall",
"src": "2889:13:3"
},
"nodeType": "YulIf",
"src": "2886:2:3"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2717:3:3",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2722:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2727:6:3",
"type": ""
}
],
"src": "2686:307:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3047:54:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3057:38:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3075:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3082:2:3",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3071:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3071:14:3"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3091:2:3",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3087:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3087:7:3"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3067:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3067:28:3"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3057:6:3"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3030:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3040:6:3",
"type": ""
}
],
"src": "2999:102:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3213:119:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3235:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3243:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3231:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3231:14:3"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "3247:34:3",
"type": "",
"value": "Address: delegate call to non-co"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3224:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3224:58:3"
},
"nodeType": "YulExpressionStatement",
"src": "3224:58:3"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3303:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3311:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3299:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3299:15:3"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "3316:8:3",
"type": "",
"value": "ntract"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3292:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3292:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "3292:33:3"
}
]
},
"name": "store_literal_in_memory_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3205:6:3",
"type": ""
}
],
"src": "3107:225:3"
}
]
},
"contents": "{\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\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(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_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 abi_encode_tuple_t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520__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_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function 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(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\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 store_literal_in_memory_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: delegate call to non-co\")\n\n mstore(add(memPtr, 32), \"ntract\")\n\n }\n\n}\n",
"id": 3,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052366100135761001161001d565b005b61001b61001d565b005b610025610081565b610035610030610083565b610092565b565b606061005c83836040518060600160405280602781526020016103ef602791396100b8565b905092915050565b600080823b905060008111915050919050565b6000819050919050565b565b600061008d610185565b905090565b3660008037600080366000845af43d6000803e80600081146100b3573d6000f35b3d6000fd5b60606100c384610064565b610102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100f990610309565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168560405161012a91906102d0565b600060405180830381855af49150503d8060008114610165576040519150601f19603f3d011682016040523d82523d6000602084013e61016a565b606091505b509150915061017a8282866101dc565b925050509392505050565b60006101b37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b610077565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606083156101ec5782905061023c565b6000835111156101ff5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023391906102e7565b60405180910390fd5b9392505050565b600061024e82610329565b610258818561033f565b935061026881856020860161035b565b80840191505092915050565b600061027f82610334565b610289818561034a565b935061029981856020860161035b565b6102a28161038e565b840191505092915050565b60006102ba60268361034a565b91506102c58261039f565b604082019050919050565b60006102dc8284610243565b915081905092915050565b600060208201905081810360008301526103018184610274565b905092915050565b60006020820190508181036000830152610322816102ad565b9050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60005b8381101561037957808201518184015260208101905061035e565b83811115610388576000848401525b50505050565b6000601f19601f8301169050919050565b7f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60008201527f6e7472616374000000000000000000000000000000000000000000000000000060208201525056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122064d09c99762070c5e31ded084df596520b0548410d8581c0c7cfbe47095aed7d64736f6c63430008020033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH2 0x13 JUMPI PUSH2 0x11 PUSH2 0x1D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B PUSH2 0x1D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x25 PUSH2 0x81 JUMP JUMPDEST PUSH2 0x35 PUSH2 0x30 PUSH2 0x83 JUMP JUMPDEST PUSH2 0x92 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5C DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3EF PUSH1 0x27 SWAP2 CODECOPY PUSH2 0xB8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 EXTCODESIZE SWAP1 POP PUSH1 0x0 DUP2 GT SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D PUSH2 0x185 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xB3 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x60 PUSH2 0xC3 DUP5 PUSH2 0x64 JUMP JUMPDEST PUSH2 0x102 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF9 SWAP1 PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x12A SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x165 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x16A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x17A DUP3 DUP3 DUP7 PUSH2 0x1DC JUMP JUMPDEST SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B3 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 SHL PUSH2 0x77 JUMP JUMPDEST PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1EC JUMPI DUP3 SWAP1 POP PUSH2 0x23C JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD GT ISZERO PUSH2 0x1FF JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x233 SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24E DUP3 PUSH2 0x329 JUMP JUMPDEST PUSH2 0x258 DUP2 DUP6 PUSH2 0x33F JUMP JUMPDEST SWAP4 POP PUSH2 0x268 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x35B JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27F DUP3 PUSH2 0x334 JUMP JUMPDEST PUSH2 0x289 DUP2 DUP6 PUSH2 0x34A JUMP JUMPDEST SWAP4 POP PUSH2 0x299 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x35B JUMP JUMPDEST PUSH2 0x2A2 DUP2 PUSH2 0x38E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BA PUSH1 0x26 DUP4 PUSH2 0x34A JUMP JUMPDEST SWAP2 POP PUSH2 0x2C5 DUP3 PUSH2 0x39F JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DC DUP3 DUP5 PUSH2 0x243 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x301 DUP2 DUP5 PUSH2 0x274 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x322 DUP2 PUSH2 0x2AD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x379 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x35E JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x388 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416464726573733A2064656C65676174652063616C6C20746F206E6F6E2D636F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E74726163740000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH13 0x6F772D6C6576656C2064656C65 PUSH8 0x6174652063616C6C KECCAK256 PUSH7 0x61696C6564A264 PUSH10 0x7066735822122064D09C SWAP10 PUSH23 0x2070C5E31DED084DF596520B0548410D8581C0C7CFBE47 MULMOD GAS 0xED PUSH30 0x64736F6C6343000802003300000000000000000000000000000000000000 ",
"sourceMap": "19604:848:0:-:0;;;;;;18876:11;:9;:11::i;:::-;19604:848;;18652:11;:9;:11::i;:::-;19604:848;18298:110;18346:17;:15;:17::i;:::-;18373:28;18383:17;:15;:17::i;:::-;18373:9;:28::i;:::-;18298:110::o;6977:198::-;7060:12;7091:77;7112:6;7120:4;7091:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;7084:84;;6977:198;;;;:::o;1419:413::-;1479:4;1682:12;1791:7;1779:20;1771:28;;1824:1;1817:4;:8;1810:15;;;1419:413;;;:::o;250:115::-;311:21;357:4;347:14;;345:18;;;:::o;19175:51::-;:::o;20310:140::-;20377:12;20408:35;:33;:35::i;:::-;20401:42;;20310:140;:::o;16924:895::-;17318:14;17315:1;17312;17299:34;17532:1;17529;17513:14;17510:1;17494:14;17487:5;17474:60;17608:16;17605:1;17602;17587:38;17646:6;17718:1;17713:38;;;;17784:16;17781:1;17774:27;17713:38;17732:16;17729:1;17722:27;7361:417;7472:12;7504:18;7515:6;7504:10;:18::i;:::-;7496:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7636:12;7650:23;7677:6;:19;;7697:4;7677:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7635:67;;;;7719:52;7737:7;7746:10;7758:12;7719:17;:52::i;:::-;7712:59;;;;7361:417;;;;;:::o;9451:140::-;9504:7;9530:48;9306:66;9557:20;;9530:26;:48::i;:::-;:54;;;;;;;;;;;;9523:61;;9451:140;:::o;7784:725::-;7899:12;7927:7;7923:580;;;7957:10;7950:17;;;;7923:580;8088:1;8068:10;:17;:21;8064:429;;;8326:10;8320:17;8386:15;8373:10;8369:2;8365:19;8358:44;8275:145;8465:12;8458:20;;;;;;;;;;;:::i;:::-;;;;;;;;7784:725;;;;;;:::o;7:373:3:-;;139:38;171:5;139:38;:::i;:::-;193:88;274:6;269:3;193:88;:::i;:::-;186:95;;290:52;335:6;330:3;323:4;316:5;312:16;290:52;:::i;:::-;367:6;362:3;358:16;351:23;;115:265;;;;;:::o;386:364::-;;502:39;535:5;502:39;:::i;:::-;557:71;621:6;616:3;557:71;:::i;:::-;550:78;;637:52;682:6;677:3;670:4;663:5;659:16;637:52;:::i;:::-;714:29;736:6;714:29;:::i;:::-;709:3;705:39;698:46;;478:272;;;;;:::o;756:366::-;;919:67;983:2;978:3;919:67;:::i;:::-;912:74;;995:93;1084:3;995:93;:::i;:::-;1113:2;1108:3;1104:12;1097:19;;902:220;;;:::o;1128:271::-;;1280:93;1369:3;1360:6;1280:93;:::i;:::-;1273:100;;1390:3;1383:10;;1262:137;;;;:::o;1405:313::-;;1556:2;1545:9;1541:18;1533:26;;1605:9;1599:4;1595:20;1591:1;1580:9;1576:17;1569:47;1633:78;1706:4;1697:6;1633:78;:::i;:::-;1625:86;;1523:195;;;;:::o;1724:419::-;;1928:2;1917:9;1913:18;1905:26;;1977:9;1971:4;1967:20;1963:1;1952:9;1948:17;1941:47;2005:131;2131:4;2005:131;:::i;:::-;1997:139;;1895:248;;;:::o;2149:98::-;;2234:5;2228:12;2218:22;;2207:40;;;:::o;2253:99::-;;2339:5;2333:12;2323:22;;2312:40;;;:::o;2358:147::-;;2496:3;2481:18;;2471:34;;;;:::o;2511:169::-;;2629:6;2624:3;2617:19;2669:4;2664:3;2660:14;2645:29;;2607:73;;;;:::o;2686:307::-;2754:1;2764:113;2778:6;2775:1;2772:13;2764:113;;;2863:1;2858:3;2854:11;2848:18;2844:1;2839:3;2835:11;2828:39;2800:2;2797:1;2793:10;2788:15;;2764:113;;;2895:6;2892:1;2889:13;2886:2;;;2975:1;2966:6;2961:3;2957:16;2950:27;2886:2;2735:258;;;;:::o;2999:102::-;;3091:2;3087:7;3082:2;3075:5;3071:14;3067:28;3057:38;;3047:54;;;:::o;3107:225::-;3247:34;3243:1;3235:6;3231:14;3224:58;3316:8;3311:2;3303:6;3299:15;3292:33;3213:119;:::o"
},
"methodIdentifiers": {}
}
},
"ERC1967Storage": {
"abi": [],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {}
}
},
"ERC1967Upgrade": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {}
}
},
"IBeacon": {
"abi": [
{
"inputs": [],
"name": "implementation",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {
"implementation()": "5c60da1b"
}
}
},
"Proxiable": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
}
],
"name": "upgradeTo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeToAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {
"upgradeTo(address)": "3659cfe6",
"upgradeToAndCall(address,bytes)": "4f1ef286"
}
}
},
"Proxy": {
"abi": [
{
"stateMutability": "payable",
"type": "fallback"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"methodIdentifiers": {}
}
},
"StorageSlot": {
"abi": [],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220120a4dbfdbf3748f461acebf9a62e1cb0893dfb059c0cdff59c5a6bb7051210f64736f6c63430008020033",
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLT EXP 0x4D 0xBF 0xDB RETURN PUSH21 0x8F461ACEBF9A62E1CB0893DFB059C0CDFF59C5A6BB PUSH17 0x51210F64736F6C63430008020033000000 ",
"sourceMap": "58:699:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220120a4dbfdbf3748f461acebf9a62e1cb0893dfb059c0cdff59c5a6bb7051210f64736f6c63430008020033",
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLT EXP 0x4D 0xBF 0xDB RETURN PUSH21 0x8F461ACEBF9A62E1CB0893DFB059C0CDFF59C5A6BB PUSH17 0x51210F64736F6C63430008020033000000 ",
"sourceMap": "58:699:0:-:0;;;;;;;;"
},
"methodIdentifiers": {}
}
}
},
"contracts/Vault.sol": {
"Vault": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"name": "Deposited",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "newFee",
"type": "uint256"
}
],
"name": "FeeChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "wallet",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Sweeped",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [],
"name": "admin",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "deposit",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "feePercentage",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feesCollected",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_fee",
"type": "uint256"
},
{
"internalType": "address",
"name": "_admin",
"type": "address"
},
{
"internalType": "address payable",
"name": "_wallet",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_fee",
"type": "uint256"
}
],
"name": "setFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "sweep",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "wallet",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610d8b806100206000396000f3fe60806040526004361061009c5760003560e01c806369fe0e2d1161006457806369fe0e2d14610162578063a001ecdd1461018b578063b4988fd0146101b6578063d0e30db0146101df578063f071db5a146101e9578063f851a440146102145761009c565b806327e235e3146100a157806335faa416146100de5780633ccfd60b146100f5578063521eb2731461010c57806354fd4d5014610137575b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c391906107cf565b61023f565b6040516100d59190610a4c565b60405180910390f35b3480156100ea57600080fd5b506100f3610257565b005b34801561010157600080fd5b5061010a610329565b005b34801561011857600080fd5b50610121610435565b60405161012e9190610946565b60405180910390f35b34801561014357600080fd5b5061014c61045b565b60405161015991906109ea565b60405180910390f35b34801561016e57600080fd5b50610189600480360381019061018491906107f8565b610498565b005b34801561019757600080fd5b506101a0610569565b6040516101ad9190610a4c565b60405180910390f35b3480156101c257600080fd5b506101dd60048036038101906101d89190610821565b61056f565b005b6101e761068e565b005b3480156101f557600080fd5b506101fe610764565b60405161020b9190610a4c565b60405180910390f35b34801561022057600080fd5b5061022961076a565b604051610236919061092b565b60405180910390f35b60046020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6001549081150290604051600060405180830381858888f193505050501580156102c1573d6000803e3d6000fd5b507f1b94d65e3a03a98b13e90142a41884547fdd622b7f14a4daf94f6338e2e85cf0600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154604051610317929190610961565b60405180910390a16000600181905550565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156103f8573d6000803e3d6000fd5b507f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5338260405161042a92919061098a565b60405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600281526020017f7631000000000000000000000000000000000000000000000000000000000000815250905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051f90610a0c565b60405180910390fd5b806000819055507f6bbc57480a46553fa4d156ce702beef5f3ad66303b0ed1a5d4cb44966c6584c38160405161055e9190610a4c565b60405180910390a150565b60005481565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f790610a2c565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600081905550505050565b60006064600054346106a09190610b0a565b6106aa9190610ad9565b905080346106b89190610b64565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107069190610a83565b92505081905550806001600082825461071f9190610a83565b925050819055507f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca333483604051610759939291906109b3565b60405180910390a150565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008135905061079f81610d10565b92915050565b6000813590506107b481610d27565b92915050565b6000813590506107c981610d3e565b92915050565b6000602082840312156107e157600080fd5b60006107ef84828501610790565b91505092915050565b60006020828403121561080a57600080fd5b6000610818848285016107ba565b91505092915050565b60008060006060848603121561083657600080fd5b6000610844868287016107ba565b935050602061085586828701610790565b9250506040610866868287016107a5565b9150509250925092565b61087981610be6565b82525050565b61088881610baa565b82525050565b61089781610b98565b82525050565b60006108a882610a67565b6108b28185610a72565b93506108c2818560208601610c1c565b6108cb81610cad565b840191505092915050565b60006108e3600c83610a72565b91506108ee82610cbe565b602082019050919050565b6000610906601383610a72565b915061091182610ce7565b602082019050919050565b61092581610bdc565b82525050565b6000602082019050610940600083018461088e565b92915050565b600060208201905061095b600083018461087f565b92915050565b60006040820190506109766000830185610870565b610983602083018461091c565b9392505050565b600060408201905061099f600083018561088e565b6109ac602083018461091c565b9392505050565b60006060820190506109c8600083018661088e565b6109d5602083018561091c565b6109e2604083018461091c565b949350505050565b60006020820190508181036000830152610a04818461089d565b905092915050565b60006020820190508181036000830152610a25816108d6565b9050919050565b60006020820190508181036000830152610a45816108f9565b9050919050565b6000602082019050610a61600083018461091c565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610a8e82610bdc565b9150610a9983610bdc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610ace57610acd610c4f565b5b828201905092915050565b6000610ae482610bdc565b9150610aef83610bdc565b925082610aff57610afe610c7e565b5b828204905092915050565b6000610b1582610bdc565b9150610b2083610bdc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610b5957610b58610c4f565b5b828202905092915050565b6000610b6f82610bdc565b9150610b7a83610bdc565b925082821015610b8d57610b8c610c4f565b5b828203905092915050565b6000610ba382610bbc565b9050919050565b6000610bb582610bbc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610bf182610bf8565b9050919050565b6000610c0382610c0a565b9050919050565b6000610c1582610bbc565b9050919050565b60005b83811015610c3a578082015181840152602081019050610c1f565b83811115610c49576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b7f416c726561647920696e697469616c697a656400000000000000000000000000600082015250565b610d1981610b98565b8114610d2457600080fd5b50565b610d3081610baa565b8114610d3b57600080fd5b50565b610d4781610bdc565b8114610d5257600080fd5b5056fea26469706673582212202f4ee7c6c7f52fa31d19921a740bd46f0d7554774f35cf3e0362f1a45329e1c764736f6c63430008020033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD8B DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x69FE0E2D GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x69FE0E2D EQ PUSH2 0x162 JUMPI DUP1 PUSH4 0xA001ECDD EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0xB4988FD0 EQ PUSH2 0x1B6 JUMPI DUP1 PUSH4 0xD0E30DB0 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0xF071DB5A EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x214 JUMPI PUSH2 0x9C JUMP JUMPDEST DUP1 PUSH4 0x27E235E3 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x35FAA416 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0xF5 JUMPI DUP1 PUSH4 0x521EB273 EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x137 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x7CF JUMP JUMPDEST PUSH2 0x23F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF3 PUSH2 0x257 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x101 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10A PUSH2 0x329 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x435 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x946 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14C PUSH2 0x45B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x159 SWAP2 SWAP1 PUSH2 0x9EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x189 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x184 SWAP2 SWAP1 PUSH2 0x7F8 JUMP JUMPDEST PUSH2 0x498 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A0 PUSH2 0x569 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AD SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D8 SWAP2 SWAP1 PUSH2 0x821 JUMP JUMPDEST PUSH2 0x56F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E7 PUSH2 0x68E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FE PUSH2 0x764 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20B SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x220 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x229 PUSH2 0x76A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x236 SWAP2 SWAP1 PUSH2 0x92B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x1 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x2C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x1B94D65E3A03A98B13E90142A41884547FDD622B7F14A4DAF94F6338E2E85CF0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH2 0x317 SWAP3 SWAP2 SWAP1 PUSH2 0x961 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x3F8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x42A SWAP3 SWAP2 SWAP1 PUSH2 0x98A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7631000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x528 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x51F SWAP1 PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH32 0x6BBC57480A46553FA4D156CE702BEEF5F3AD66303B0ED1A5D4CB44966C6584C3 DUP2 PUSH1 0x40 MLOAD PUSH2 0x55E SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x600 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F7 SWAP1 PUSH2 0xA2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH1 0x0 SLOAD CALLVALUE PUSH2 0x6A0 SWAP2 SWAP1 PUSH2 0xB0A JUMP JUMPDEST PUSH2 0x6AA SWAP2 SWAP1 PUSH2 0xAD9 JUMP JUMPDEST SWAP1 POP DUP1 CALLVALUE PUSH2 0x6B8 SWAP2 SWAP1 PUSH2 0xB64 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x706 SWAP2 SWAP1 PUSH2 0xA83 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x71F SWAP2 SWAP1 PUSH2 0xA83 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x73A19DD210F1A7F902193214C0EE91DD35EE5B4D920CBA8D519ECA65A7B488CA CALLER CALLVALUE DUP4 PUSH1 0x40 MLOAD PUSH2 0x759 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x79F DUP2 PUSH2 0xD10 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7B4 DUP2 PUSH2 0xD27 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7C9 DUP2 PUSH2 0xD3E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7EF DUP5 DUP3 DUP6 ADD PUSH2 0x790 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x80A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x818 DUP5 DUP3 DUP6 ADD PUSH2 0x7BA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x836 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x844 DUP7 DUP3 DUP8 ADD PUSH2 0x7BA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x855 DUP7 DUP3 DUP8 ADD PUSH2 0x790 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x866 DUP7 DUP3 DUP8 ADD PUSH2 0x7A5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x879 DUP2 PUSH2 0xBE6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x888 DUP2 PUSH2 0xBAA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x897 DUP2 PUSH2 0xB98 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A8 DUP3 PUSH2 0xA67 JUMP JUMPDEST PUSH2 0x8B2 DUP2 DUP6 PUSH2 0xA72 JUMP JUMPDEST SWAP4 POP PUSH2 0x8C2 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC1C JUMP JUMPDEST PUSH2 0x8CB DUP2 PUSH2 0xCAD JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E3 PUSH1 0xC DUP4 PUSH2 0xA72 JUMP JUMPDEST SWAP2 POP PUSH2 0x8EE DUP3 PUSH2 0xCBE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x906 PUSH1 0x13 DUP4 PUSH2 0xA72 JUMP JUMPDEST SWAP2 POP PUSH2 0x911 DUP3 PUSH2 0xCE7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x925 DUP2 PUSH2 0xBDC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x940 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x88E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x95B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x87F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x976 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x870 JUMP JUMPDEST PUSH2 0x983 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x91C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x99F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x88E JUMP JUMPDEST PUSH2 0x9AC PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x91C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x9C8 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x88E JUMP JUMPDEST PUSH2 0x9D5 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x91C JUMP JUMPDEST PUSH2 0x9E2 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x91C JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xA04 DUP2 DUP5 PUSH2 0x89D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xA25 DUP2 PUSH2 0x8D6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xA45 DUP2 PUSH2 0x8F9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xA61 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8E DUP3 PUSH2 0xBDC JUMP JUMPDEST SWAP2 POP PUSH2 0xA99 DUP4 PUSH2 0xBDC JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xACE JUMPI PUSH2 0xACD PUSH2 0xC4F JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAE4 DUP3 PUSH2 0xBDC JUMP JUMPDEST SWAP2 POP PUSH2 0xAEF DUP4 PUSH2 0xBDC JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0xAFF JUMPI PUSH2 0xAFE PUSH2 0xC7E JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB15 DUP3 PUSH2 0xBDC JUMP JUMPDEST SWAP2 POP PUSH2 0xB20 DUP4 PUSH2 0xBDC JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xB59 JUMPI PUSH2 0xB58 PUSH2 0xC4F JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB6F DUP3 PUSH2 0xBDC JUMP JUMPDEST SWAP2 POP PUSH2 0xB7A DUP4 PUSH2 0xBDC JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xB8D JUMPI PUSH2 0xB8C PUSH2 0xC4F JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBA3 DUP3 PUSH2 0xBBC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBB5 DUP3 PUSH2 0xBBC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBF1 DUP3 PUSH2 0xBF8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC03 DUP3 PUSH2 0xC0A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC15 DUP3 PUSH2 0xBBC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC3A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC1F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xC49 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x556E617574686F72697A65640000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416C726561647920696E697469616C697A656400000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xD19 DUP2 PUSH2 0xB98 JUMP JUMPDEST DUP2 EQ PUSH2 0xD24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xD30 DUP2 PUSH2 0xBAA JUMP JUMPDEST DUP2 EQ PUSH2 0xD3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xD47 DUP2 PUSH2 0xBDC JUMP JUMPDEST DUP2 EQ PUSH2 0xD52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F 0x4E 0xE7 0xC6 0xC7 CREATE2 0x2F LOG3 SAR NOT SWAP3 BYTE PUSH21 0xBD46F0D7554774F35CF3E0362F1A45329E1C76473 PUSH16 0x6C634300080200330000000000000000 ",
"sourceMap": "56:1440:1:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:9940:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:3"
},
"nodeType": "YulFunctionCall",
"src": "78:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:3"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:3"
},
"nodeType": "YulFunctionCall",
"src": "107:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:3"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:3",
"type": ""
}
],
"src": "7:139:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "212:95:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "222:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "244:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "231:12:3"
},
"nodeType": "YulFunctionCall",
"src": "231:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "222:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "295:5:3"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "260:34:3"
},
"nodeType": "YulFunctionCall",
"src": "260:41:3"
},
"nodeType": "YulExpressionStatement",
"src": "260:41:3"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "190:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "198:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "206:5:3",
"type": ""
}
],
"src": "152:155:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "365:87:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "375:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "397:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "384:12:3"
},
"nodeType": "YulFunctionCall",
"src": "384:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "375:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "440:5:3"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "413:26:3"
},
"nodeType": "YulFunctionCall",
"src": "413:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "413:33:3"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "343:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "351:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "359:5:3",
"type": ""
}
],
"src": "313:139:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "524:196:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "579:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "582:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "572:6:3"
},
"nodeType": "YulFunctionCall",
"src": "572:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "572:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "545:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "554:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "541:3:3"
},
"nodeType": "YulFunctionCall",
"src": "541:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "566:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "537:3:3"
},
"nodeType": "YulFunctionCall",
"src": "537:32:3"
},
"nodeType": "YulIf",
"src": "534:2:3"
},
{
"nodeType": "YulBlock",
"src": "596:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "611:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "625:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "615:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "640:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "675:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "686:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "671:3:3"
},
"nodeType": "YulFunctionCall",
"src": "671:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "695:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "650:20:3"
},
"nodeType": "YulFunctionCall",
"src": "650:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "640:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "494:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "505:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "517:6:3",
"type": ""
}
],
"src": "458:262:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "792:196:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "838:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "847:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "850:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "840:6:3"
},
"nodeType": "YulFunctionCall",
"src": "840:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "840:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "813:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "822:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "809:3:3"
},
"nodeType": "YulFunctionCall",
"src": "809:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "834:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "805:3:3"
},
"nodeType": "YulFunctionCall",
"src": "805:32:3"
},
"nodeType": "YulIf",
"src": "802:2:3"
},
{
"nodeType": "YulBlock",
"src": "864:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "879:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "893:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "883:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "908:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "943:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "954:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "939:3:3"
},
"nodeType": "YulFunctionCall",
"src": "939:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "963:7:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "918:20:3"
},
"nodeType": "YulFunctionCall",
"src": "918:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "908:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "762:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "773:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "785:6:3",
"type": ""
}
],
"src": "726:262:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1102:460:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1148:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1157:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1160:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1150:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1150:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "1150:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1123:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1132:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1119:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1119:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1144:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1115:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1115:32:3"
},
"nodeType": "YulIf",
"src": "1112:2:3"
},
{
"nodeType": "YulBlock",
"src": "1174:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1189:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1203:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1193:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1218:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1253:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1264:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1249:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1249:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1273:7:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1228:20:3"
},
"nodeType": "YulFunctionCall",
"src": "1228:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1218:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1301:118:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1316:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1330:2:3",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1320:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1346:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1381:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1392:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1377:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1377:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1401:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1356:20:3"
},
"nodeType": "YulFunctionCall",
"src": "1356:53:3"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1346:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1429:126:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1444:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1458:2:3",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1448:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1474:71:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1517:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1528:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1513:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1513:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1537:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1484:28:3"
},
"nodeType": "YulFunctionCall",
"src": "1484:61:3"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1474:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_addresst_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1056:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1067:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1079:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1087:6:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1095:6:3",
"type": ""
}
],
"src": "994:568:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1641:74:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1658:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1702:5:3"
}
],
"functionName": {
"name": "convert_t_address_payable_to_t_address",
"nodeType": "YulIdentifier",
"src": "1663:38:3"
},
"nodeType": "YulFunctionCall",
"src": "1663:45:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1651:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1651:58:3"
},
"nodeType": "YulExpressionStatement",
"src": "1651:58:3"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1629:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1636:3:3",
"type": ""
}
],
"src": "1568:147:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1802:61:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1819:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1850:5:3"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1824:25:3"
},
"nodeType": "YulFunctionCall",
"src": "1824:32:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1812:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1812:45:3"
},
"nodeType": "YulExpressionStatement",
"src": "1812:45:3"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1790:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1797:3:3",
"type": ""
}
],
"src": "1721:142:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1934:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1951:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1974:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1956:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1956:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1944:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1944:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "1944:37:3"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1922:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1929:3:3",
"type": ""
}
],
"src": "1869:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2085:272:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2095:53:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2142:5:3"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2109:32:3"
},
"nodeType": "YulFunctionCall",
"src": "2109:39:3"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2099:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2157:78:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2223:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2228:6:3"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2164:58:3"
},
"nodeType": "YulFunctionCall",
"src": "2164:71:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2157:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2270:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2277:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2266:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2266:16:3"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2284:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2289:6:3"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2244:21:3"
},
"nodeType": "YulFunctionCall",
"src": "2244:52:3"
},
"nodeType": "YulExpressionStatement",
"src": "2244:52:3"
},
{
"nodeType": "YulAssignment",
"src": "2305:46:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2316:3:3"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2343:6:3"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2321:21:3"
},
"nodeType": "YulFunctionCall",
"src": "2321:29:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2312:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2312:39:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2305:3:3"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2066:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2073:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2081:3:3",
"type": ""
}
],
"src": "1993:364:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2509:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2519:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2585:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2590:2:3",
"type": "",
"value": "12"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2526:58:3"
},
"nodeType": "YulFunctionCall",
"src": "2526:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2519:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2691:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5",
"nodeType": "YulIdentifier",
"src": "2602:88:3"
},
"nodeType": "YulFunctionCall",
"src": "2602:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "2602:93:3"
},
{
"nodeType": "YulAssignment",
"src": "2704:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2715:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2720:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2711:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2711:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2704:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2497:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2505:3:3",
"type": ""
}
],
"src": "2363:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2881:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2891:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2957:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2962:2:3",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2898:58:3"
},
"nodeType": "YulFunctionCall",
"src": "2898:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2891:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3063:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0",
"nodeType": "YulIdentifier",
"src": "2974:88:3"
},
"nodeType": "YulFunctionCall",
"src": "2974:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "2974:93:3"
},
{
"nodeType": "YulAssignment",
"src": "3076:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3087:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3092:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3083:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3083:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3076:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2869:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2877:3:3",
"type": ""
}
],
"src": "2735:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3172:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3189:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3212:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3194:17:3"
},
"nodeType": "YulFunctionCall",
"src": "3194:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3182:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3182:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "3182:37:3"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3160:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3167:3:3",
"type": ""
}
],
"src": "3107:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3329:124:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3339:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3351:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3362:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3347:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3347:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3339:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3419:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3432:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3443:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3428:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3428:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "3375:43:3"
},
"nodeType": "YulFunctionCall",
"src": "3375:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "3375:71:3"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3301:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3313:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3324:4:3",
"type": ""
}
],
"src": "3231:222:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3573:140:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3583:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3595:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3606:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3591:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3591:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3583:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3679:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3692:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3703:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3688:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3688:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulIdentifier",
"src": "3619:59:3"
},
"nodeType": "YulFunctionCall",
"src": "3619:87:3"
},
"nodeType": "YulExpressionStatement",
"src": "3619:87:3"
}
]
},
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3545:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3557:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3568:4:3",
"type": ""
}
],
"src": "3459:254:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3853:214:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3863:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3875:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3886:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3871:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3871:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3863:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3951:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3964:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3975:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3960:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3960:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "3899:51:3"
},
"nodeType": "YulFunctionCall",
"src": "3899:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "3899:79:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4032:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4045:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4056:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4041:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4041:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3988:43:3"
},
"nodeType": "YulFunctionCall",
"src": "3988:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "3988:72:3"
}
]
},
"name": "abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3817:9:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3829:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3837:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3848:4:3",
"type": ""
}
],
"src": "3719:348:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4199:206:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4209:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4221:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4232:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4217:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4217:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4209:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4289:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4302:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4313:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4298:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4298:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4245:43:3"
},
"nodeType": "YulFunctionCall",
"src": "4245:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "4245:71:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4370:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4383:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4394:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4379:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4379:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4326:43:3"
},
"nodeType": "YulFunctionCall",
"src": "4326:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "4326:72:3"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4163:9:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4175:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4183:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4194:4:3",
"type": ""
}
],
"src": "4073:332:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4565:288:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4575:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4587:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4598:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4583:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4583:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4575:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4655:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4668:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4679:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4664:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4664:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4611:43:3"
},
"nodeType": "YulFunctionCall",
"src": "4611:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "4611:71:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4736:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4749:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4760:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4745:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4745:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4692:43:3"
},
"nodeType": "YulFunctionCall",
"src": "4692:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "4692:72:3"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "4818:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4831:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4842:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4827:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4827:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4774:43:3"
},
"nodeType": "YulFunctionCall",
"src": "4774:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "4774:72:3"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4521:9:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4533:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4541:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4549:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4560:4:3",
"type": ""
}
],
"src": "4411:442:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4977:195:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4987:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4999:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5010:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4995:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4995:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4987:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5034:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5045:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5030:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5030:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5053:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5059:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5049:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5049:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5023:6:3"
},
"nodeType": "YulFunctionCall",
"src": "5023:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "5023:47:3"
},
{
"nodeType": "YulAssignment",
"src": "5079:86:3",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5151:6:3"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5160:4:3"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5087:63:3"
},
"nodeType": "YulFunctionCall",
"src": "5087:78:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5079:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4949:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4961:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4972:4:3",
"type": ""
}
],
"src": "4859:313:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5349:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5359:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5371:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5382:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5367:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5367:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5359:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5406:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5417:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5402:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5402:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5425:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5431:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5421:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5421:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5395:6:3"
},
"nodeType": "YulFunctionCall",
"src": "5395:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "5395:47:3"
},
{
"nodeType": "YulAssignment",
"src": "5451:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5585:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5459:124:3"
},
"nodeType": "YulFunctionCall",
"src": "5459:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5451:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5329:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5344:4:3",
"type": ""
}
],
"src": "5178:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5774:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5784:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5796:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5807:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5792:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5792:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5784:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5831:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5842:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5827:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5827:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5850:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5856:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5846:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5846:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5820:6:3"
},
"nodeType": "YulFunctionCall",
"src": "5820:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "5820:47:3"
},
{
"nodeType": "YulAssignment",
"src": "5876:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6010:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5884:124:3"
},
"nodeType": "YulFunctionCall",
"src": "5884:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5876:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5754:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5769:4:3",
"type": ""
}
],
"src": "5603:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6126:124:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6136:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6148:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6159:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6144:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6144:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6136:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6216:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6229:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6240:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6225:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6225:17:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "6172:43:3"
},
"nodeType": "YulFunctionCall",
"src": "6172:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "6172:71:3"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6098:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6110:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6121:4:3",
"type": ""
}
],
"src": "6028:222:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6315:40:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6326:22:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6342:5:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6336:5:3"
},
"nodeType": "YulFunctionCall",
"src": "6336:12:3"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6326:6:3"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6298:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6308:6:3",
"type": ""
}
],
"src": "6256:99:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6457:73:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6474:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6479:6:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6467:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6467:19:3"
},
"nodeType": "YulExpressionStatement",
"src": "6467:19:3"
},
{
"nodeType": "YulAssignment",
"src": "6495:29:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6514:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6519:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6510:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6510:14:3"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "6495:11:3"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6429:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6434:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "6445:11:3",
"type": ""
}
],
"src": "6361:169:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6580:261:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6590:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6613:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6595:17:3"
},
"nodeType": "YulFunctionCall",
"src": "6595:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6590:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6624:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6647:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6629:17:3"
},
"nodeType": "YulFunctionCall",
"src": "6629:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6624:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6787:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6789:16:3"
},
"nodeType": "YulFunctionCall",
"src": "6789:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "6789:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6708:1:3"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6715:66:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6783:1:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6711:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6711:74:3"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6705:2:3"
},
"nodeType": "YulFunctionCall",
"src": "6705:81:3"
},
"nodeType": "YulIf",
"src": "6702:2:3"
},
{
"nodeType": "YulAssignment",
"src": "6819:16:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6830:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6833:1:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6826:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6826:9:3"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6819:3:3"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "6567:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "6570:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "6576:3:3",
"type": ""
}
],
"src": "6536:305:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6889:143:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6899:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6922:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6904:17:3"
},
"nodeType": "YulFunctionCall",
"src": "6904:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6899:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6933:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6956:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6938:17:3"
},
"nodeType": "YulFunctionCall",
"src": "6938:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6933:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6980:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "6982:16:3"
},
"nodeType": "YulFunctionCall",
"src": "6982:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "6982:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6977:1:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6970:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6970:9:3"
},
"nodeType": "YulIf",
"src": "6967:2:3"
},
{
"nodeType": "YulAssignment",
"src": "7012:14:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7021:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7024:1:3"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "7017:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7017:9:3"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "7012:1:3"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "6878:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "6881:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "6887:1:3",
"type": ""
}
],
"src": "6847:185:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7086:300:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7096:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7119:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7101:17:3"
},
"nodeType": "YulFunctionCall",
"src": "7101:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7096:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7130:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7153:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7135:17:3"
},
"nodeType": "YulFunctionCall",
"src": "7135:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7130:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7328:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "7330:16:3"
},
"nodeType": "YulFunctionCall",
"src": "7330:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "7330:18:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7240:1:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7233:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7233:9:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7226:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7226:17:3"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7248:1:3"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7255:66:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7323:1:3"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "7251:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7251:74:3"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7245:2:3"
},
"nodeType": "YulFunctionCall",
"src": "7245:81:3"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7222:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7222:105:3"
},
"nodeType": "YulIf",
"src": "7219:2:3"
},
{
"nodeType": "YulAssignment",
"src": "7360:20:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7375:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7378:1:3"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "7371:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7371:9:3"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "7360:7:3"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "7069:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "7072:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "7078:7:3",
"type": ""
}
],
"src": "7038:348:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7437:146:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7447:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7470:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7452:17:3"
},
"nodeType": "YulFunctionCall",
"src": "7452:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7447:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7481:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7504:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7486:17:3"
},
"nodeType": "YulFunctionCall",
"src": "7486:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7481:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7528:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "7530:16:3"
},
"nodeType": "YulFunctionCall",
"src": "7530:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "7530:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7522:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7525:1:3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7519:2:3"
},
"nodeType": "YulFunctionCall",
"src": "7519:8:3"
},
"nodeType": "YulIf",
"src": "7516:2:3"
},
{
"nodeType": "YulAssignment",
"src": "7560:17:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7572:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7575:1:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7568:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7568:9:3"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "7560:4:3"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "7423:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "7426:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "7432:4:3",
"type": ""
}
],
"src": "7392:191:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7634:51:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7644:35:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7673:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "7655:17:3"
},
"nodeType": "YulFunctionCall",
"src": "7655:24:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7644:7:3"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7616:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7626:7:3",
"type": ""
}
],
"src": "7589:96:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7744:51:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7754:35:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7783:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "7765:17:3"
},
"nodeType": "YulFunctionCall",
"src": "7765:24:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7754:7:3"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7726:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7736:7:3",
"type": ""
}
],
"src": "7691:104:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7846:81:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7856:65:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7871:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7878:42:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7867:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7867:54:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7856:7:3"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7828:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7838:7:3",
"type": ""
}
],
"src": "7801:126:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7978:32:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7988:16:3",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "7999:5:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7988:7:3"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7960:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7970:7:3",
"type": ""
}
],
"src": "7933:77:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8084:66:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8094:50:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8138:5:3"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulIdentifier",
"src": "8107:30:3"
},
"nodeType": "YulFunctionCall",
"src": "8107:37:3"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "8094:9:3"
}
]
}
]
},
"name": "convert_t_address_payable_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8064:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "8074:9:3",
"type": ""
}
],
"src": "8016:134:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8216:66:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8226:50:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8270:5:3"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulIdentifier",
"src": "8239:30:3"
},
"nodeType": "YulFunctionCall",
"src": "8239:37:3"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "8226:9:3"
}
]
}
]
},
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8196:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "8206:9:3",
"type": ""
}
],
"src": "8156:126:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8348:53:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8358:37:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8389:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "8371:17:3"
},
"nodeType": "YulFunctionCall",
"src": "8371:24:3"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "8358:9:3"
}
]
}
]
},
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8328:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "8338:9:3",
"type": ""
}
],
"src": "8288:113:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8456:258:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8466:10:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "8475:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "8470:1:3",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8535:63:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "8560:3:3"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8565:1:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8556:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8556:11:3"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "8579:3:3"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8584:1:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8575:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8575:11:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "8569:5:3"
},
"nodeType": "YulFunctionCall",
"src": "8569:18:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8549:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8549:39:3"
},
"nodeType": "YulExpressionStatement",
"src": "8549:39:3"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8496:1:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8499:6:3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8493:2:3"
},
"nodeType": "YulFunctionCall",
"src": "8493:13:3"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "8507:19:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8509:15:3",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8518:1:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8521:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8514:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8514:10:3"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8509:1:3"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "8489:3:3",
"statements": []
},
"src": "8485:113:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8632:76:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "8682:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8687:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8678:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8678:16:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8696:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8671:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8671:27:3"
},
"nodeType": "YulExpressionStatement",
"src": "8671:27:3"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8613:1:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8616:6:3"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8610:2:3"
},
"nodeType": "YulFunctionCall",
"src": "8610:13:3"
},
"nodeType": "YulIf",
"src": "8607:2:3"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "8438:3:3",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "8443:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8448:6:3",
"type": ""
}
],
"src": "8407:307:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8748:152:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8765:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8768:77:3",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8758:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8758:88:3"
},
"nodeType": "YulExpressionStatement",
"src": "8758:88:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8862:1:3",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8865:4:3",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8855:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8855:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "8855:15:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8886:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8889:4:3",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8879:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8879:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "8879:15:3"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "8720:180:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8934:152:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8951:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8954:77:3",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8944:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8944:88:3"
},
"nodeType": "YulExpressionStatement",
"src": "8944:88:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9048:1:3",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9051:4:3",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9041:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9041:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "9041:15:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9072:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9075:4:3",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9065:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9065:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "9065:15:3"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "8906:180:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9140:54:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9150:38:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9168:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9175:2:3",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9164:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9164:14:3"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9184:2:3",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "9180:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9180:7:3"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9160:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9160:28:3"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "9150:6:3"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9123:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "9133:6:3",
"type": ""
}
],
"src": "9092:102:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9306:56:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9328:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9336:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9324:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9324:14:3"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "9340:14:3",
"type": "",
"value": "Unauthorized"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9317:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9317:38:3"
},
"nodeType": "YulExpressionStatement",
"src": "9317:38:3"
}
]
},
"name": "store_literal_in_memory_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9298:6:3",
"type": ""
}
],
"src": "9200:162:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9474:63:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9496:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9504:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9492:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9492:14:3"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "9508:21:3",
"type": "",
"value": "Already initialized"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9485:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9485:45:3"
},
"nodeType": "YulExpressionStatement",
"src": "9485:45:3"
}
]
},
"name": "store_literal_in_memory_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9466:6:3",
"type": ""
}
],
"src": "9368:169:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9586:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "9643:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9652:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9655:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9645:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9645:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "9645:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9609:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9634:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "9616:17:3"
},
"nodeType": "YulFunctionCall",
"src": "9616:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9606:2:3"
},
"nodeType": "YulFunctionCall",
"src": "9606:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9599:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9599:43:3"
},
"nodeType": "YulIf",
"src": "9596:2:3"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9579:5:3",
"type": ""
}
],
"src": "9543:122:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9722:87:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "9787:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9796:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9799:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9789:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9789:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "9789:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9745:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9778:5:3"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "9752:25:3"
},
"nodeType": "YulFunctionCall",
"src": "9752:32:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9742:2:3"
},
"nodeType": "YulFunctionCall",
"src": "9742:43:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9735:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9735:51:3"
},
"nodeType": "YulIf",
"src": "9732:2:3"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9715:5:3",
"type": ""
}
],
"src": "9671:138:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9858:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "9915:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9924:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9927:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9917:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9917:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "9917:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9881:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9906:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9888:17:3"
},
"nodeType": "YulFunctionCall",
"src": "9888:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9878:2:3"
},
"nodeType": "YulFunctionCall",
"src": "9878:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9871:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9871:43:3"
},
"nodeType": "YulIf",
"src": "9868:2:3"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9851:5:3",
"type": ""
}
],
"src": "9815:122:3"
}
]
},
"contents": "{\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_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_addresst_address_payable(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_payable_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_address_payable_to_t_address(value))\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_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(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 12)\n store_literal_in_memory_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_payable_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\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 abi_encode_tuple_t_stringliteral_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5__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_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0__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_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_address_payable_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5(memPtr) {\n\n mstore(add(memPtr, 0), \"Unauthorized\")\n\n }\n\n function store_literal_in_memory_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0(memPtr) {\n\n mstore(add(memPtr, 0), \"Already initialized\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 3,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "60806040526004361061009c5760003560e01c806369fe0e2d1161006457806369fe0e2d14610162578063a001ecdd1461018b578063b4988fd0146101b6578063d0e30db0146101df578063f071db5a146101e9578063f851a440146102145761009c565b806327e235e3146100a157806335faa416146100de5780633ccfd60b146100f5578063521eb2731461010c57806354fd4d5014610137575b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c391906107cf565b61023f565b6040516100d59190610a4c565b60405180910390f35b3480156100ea57600080fd5b506100f3610257565b005b34801561010157600080fd5b5061010a610329565b005b34801561011857600080fd5b50610121610435565b60405161012e9190610946565b60405180910390f35b34801561014357600080fd5b5061014c61045b565b60405161015991906109ea565b60405180910390f35b34801561016e57600080fd5b50610189600480360381019061018491906107f8565b610498565b005b34801561019757600080fd5b506101a0610569565b6040516101ad9190610a4c565b60405180910390f35b3480156101c257600080fd5b506101dd60048036038101906101d89190610821565b61056f565b005b6101e761068e565b005b3480156101f557600080fd5b506101fe610764565b60405161020b9190610a4c565b60405180910390f35b34801561022057600080fd5b5061022961076a565b604051610236919061092b565b60405180910390f35b60046020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6001549081150290604051600060405180830381858888f193505050501580156102c1573d6000803e3d6000fd5b507f1b94d65e3a03a98b13e90142a41884547fdd622b7f14a4daf94f6338e2e85cf0600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154604051610317929190610961565b60405180910390a16000600181905550565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156103f8573d6000803e3d6000fd5b507f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5338260405161042a92919061098a565b60405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600281526020017f7631000000000000000000000000000000000000000000000000000000000000815250905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051f90610a0c565b60405180910390fd5b806000819055507f6bbc57480a46553fa4d156ce702beef5f3ad66303b0ed1a5d4cb44966c6584c38160405161055e9190610a4c565b60405180910390a150565b60005481565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f790610a2c565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600081905550505050565b60006064600054346106a09190610b0a565b6106aa9190610ad9565b905080346106b89190610b64565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107069190610a83565b92505081905550806001600082825461071f9190610a83565b925050819055507f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca333483604051610759939291906109b3565b60405180910390a150565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008135905061079f81610d10565b92915050565b6000813590506107b481610d27565b92915050565b6000813590506107c981610d3e565b92915050565b6000602082840312156107e157600080fd5b60006107ef84828501610790565b91505092915050565b60006020828403121561080a57600080fd5b6000610818848285016107ba565b91505092915050565b60008060006060848603121561083657600080fd5b6000610844868287016107ba565b935050602061085586828701610790565b9250506040610866868287016107a5565b9150509250925092565b61087981610be6565b82525050565b61088881610baa565b82525050565b61089781610b98565b82525050565b60006108a882610a67565b6108b28185610a72565b93506108c2818560208601610c1c565b6108cb81610cad565b840191505092915050565b60006108e3600c83610a72565b91506108ee82610cbe565b602082019050919050565b6000610906601383610a72565b915061091182610ce7565b602082019050919050565b61092581610bdc565b82525050565b6000602082019050610940600083018461088e565b92915050565b600060208201905061095b600083018461087f565b92915050565b60006040820190506109766000830185610870565b610983602083018461091c565b9392505050565b600060408201905061099f600083018561088e565b6109ac602083018461091c565b9392505050565b60006060820190506109c8600083018661088e565b6109d5602083018561091c565b6109e2604083018461091c565b949350505050565b60006020820190508181036000830152610a04818461089d565b905092915050565b60006020820190508181036000830152610a25816108d6565b9050919050565b60006020820190508181036000830152610a45816108f9565b9050919050565b6000602082019050610a61600083018461091c565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610a8e82610bdc565b9150610a9983610bdc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610ace57610acd610c4f565b5b828201905092915050565b6000610ae482610bdc565b9150610aef83610bdc565b925082610aff57610afe610c7e565b5b828204905092915050565b6000610b1582610bdc565b9150610b2083610bdc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610b5957610b58610c4f565b5b828202905092915050565b6000610b6f82610bdc565b9150610b7a83610bdc565b925082821015610b8d57610b8c610c4f565b5b828203905092915050565b6000610ba382610bbc565b9050919050565b6000610bb582610bbc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610bf182610bf8565b9050919050565b6000610c0382610c0a565b9050919050565b6000610c1582610bbc565b9050919050565b60005b83811015610c3a578082015181840152602081019050610c1f565b83811115610c49576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b7f416c726561647920696e697469616c697a656400000000000000000000000000600082015250565b610d1981610b98565b8114610d2457600080fd5b50565b610d3081610baa565b8114610d3b57600080fd5b50565b610d4781610bdc565b8114610d5257600080fd5b5056fea26469706673582212202f4ee7c6c7f52fa31d19921a740bd46f0d7554774f35cf3e0362f1a45329e1c764736f6c63430008020033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x69FE0E2D GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x69FE0E2D EQ PUSH2 0x162 JUMPI DUP1 PUSH4 0xA001ECDD EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0xB4988FD0 EQ PUSH2 0x1B6 JUMPI DUP1 PUSH4 0xD0E30DB0 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0xF071DB5A EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x214 JUMPI PUSH2 0x9C JUMP JUMPDEST DUP1 PUSH4 0x27E235E3 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x35FAA416 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0xF5 JUMPI DUP1 PUSH4 0x521EB273 EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x137 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x7CF JUMP JUMPDEST PUSH2 0x23F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF3 PUSH2 0x257 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x101 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10A PUSH2 0x329 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x435 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x946 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14C PUSH2 0x45B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x159 SWAP2 SWAP1 PUSH2 0x9EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x189 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x184 SWAP2 SWAP1 PUSH2 0x7F8 JUMP JUMPDEST PUSH2 0x498 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A0 PUSH2 0x569 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AD SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D8 SWAP2 SWAP1 PUSH2 0x821 JUMP JUMPDEST PUSH2 0x56F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E7 PUSH2 0x68E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FE PUSH2 0x764 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20B SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x220 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x229 PUSH2 0x76A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x236 SWAP2 SWAP1 PUSH2 0x92B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x1 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x2C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x1B94D65E3A03A98B13E90142A41884547FDD622B7F14A4DAF94F6338E2E85CF0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH2 0x317 SWAP3 SWAP2 SWAP1 PUSH2 0x961 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x3F8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x42A SWAP3 SWAP2 SWAP1 PUSH2 0x98A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7631000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x528 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x51F SWAP1 PUSH2 0xA0C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH32 0x6BBC57480A46553FA4D156CE702BEEF5F3AD66303B0ED1A5D4CB44966C6584C3 DUP2 PUSH1 0x40 MLOAD PUSH2 0x55E SWAP2 SWAP1 PUSH2 0xA4C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x600 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5F7 SWAP1 PUSH2 0xA2C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH1 0x0 SLOAD CALLVALUE PUSH2 0x6A0 SWAP2 SWAP1 PUSH2 0xB0A JUMP JUMPDEST PUSH2 0x6AA SWAP2 SWAP1 PUSH2 0xAD9 JUMP JUMPDEST SWAP1 POP DUP1 CALLVALUE PUSH2 0x6B8 SWAP2 SWAP1 PUSH2 0xB64 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x706 SWAP2 SWAP1 PUSH2 0xA83 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x71F SWAP2 SWAP1 PUSH2 0xA83 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x73A19DD210F1A7F902193214C0EE91DD35EE5B4D920CBA8D519ECA65A7B488CA CALLER CALLVALUE DUP4 PUSH1 0x40 MLOAD PUSH2 0x759 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x79F DUP2 PUSH2 0xD10 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7B4 DUP2 PUSH2 0xD27 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7C9 DUP2 PUSH2 0xD3E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7EF DUP5 DUP3 DUP6 ADD PUSH2 0x790 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x80A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x818 DUP5 DUP3 DUP6 ADD PUSH2 0x7BA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x836 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x844 DUP7 DUP3 DUP8 ADD PUSH2 0x7BA JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x855 DUP7 DUP3 DUP8 ADD PUSH2 0x790 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x866 DUP7 DUP3 DUP8 ADD PUSH2 0x7A5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x879 DUP2 PUSH2 0xBE6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x888 DUP2 PUSH2 0xBAA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x897 DUP2 PUSH2 0xB98 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A8 DUP3 PUSH2 0xA67 JUMP JUMPDEST PUSH2 0x8B2 DUP2 DUP6 PUSH2 0xA72 JUMP JUMPDEST SWAP4 POP PUSH2 0x8C2 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC1C JUMP JUMPDEST PUSH2 0x8CB DUP2 PUSH2 0xCAD JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E3 PUSH1 0xC DUP4 PUSH2 0xA72 JUMP JUMPDEST SWAP2 POP PUSH2 0x8EE DUP3 PUSH2 0xCBE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x906 PUSH1 0x13 DUP4 PUSH2 0xA72 JUMP JUMPDEST SWAP2 POP PUSH2 0x911 DUP3 PUSH2 0xCE7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x925 DUP2 PUSH2 0xBDC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x940 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x88E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x95B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x87F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x976 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x870 JUMP JUMPDEST PUSH2 0x983 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x91C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x99F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x88E JUMP JUMPDEST PUSH2 0x9AC PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x91C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x9C8 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x88E JUMP JUMPDEST PUSH2 0x9D5 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x91C JUMP JUMPDEST PUSH2 0x9E2 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x91C JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xA04 DUP2 DUP5 PUSH2 0x89D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xA25 DUP2 PUSH2 0x8D6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xA45 DUP2 PUSH2 0x8F9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xA61 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x91C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8E DUP3 PUSH2 0xBDC JUMP JUMPDEST SWAP2 POP PUSH2 0xA99 DUP4 PUSH2 0xBDC JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xACE JUMPI PUSH2 0xACD PUSH2 0xC4F JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAE4 DUP3 PUSH2 0xBDC JUMP JUMPDEST SWAP2 POP PUSH2 0xAEF DUP4 PUSH2 0xBDC JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0xAFF JUMPI PUSH2 0xAFE PUSH2 0xC7E JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB15 DUP3 PUSH2 0xBDC JUMP JUMPDEST SWAP2 POP PUSH2 0xB20 DUP4 PUSH2 0xBDC JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xB59 JUMPI PUSH2 0xB58 PUSH2 0xC4F JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB6F DUP3 PUSH2 0xBDC JUMP JUMPDEST SWAP2 POP PUSH2 0xB7A DUP4 PUSH2 0xBDC JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xB8D JUMPI PUSH2 0xB8C PUSH2 0xC4F JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBA3 DUP3 PUSH2 0xBBC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBB5 DUP3 PUSH2 0xBBC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBF1 DUP3 PUSH2 0xBF8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC03 DUP3 PUSH2 0xC0A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC15 DUP3 PUSH2 0xBBC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC3A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC1F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xC49 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x556E617574686F72697A65640000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416C726561647920696E697469616C697A656400000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xD19 DUP2 PUSH2 0xB98 JUMP JUMPDEST DUP2 EQ PUSH2 0xD24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xD30 DUP2 PUSH2 0xBAA JUMP JUMPDEST DUP2 EQ PUSH2 0xD3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xD47 DUP2 PUSH2 0xBDC JUMP JUMPDEST DUP2 EQ PUSH2 0xD52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F 0x4E 0xE7 0xC6 0xC7 CREATE2 0x2F LOG3 SAR NOT SWAP3 BYTE PUSH21 0xBD46F0D7554774F35CF3E0362F1A45329E1C76473 PUSH16 0x6C634300080200330000000000000000 ",
"sourceMap": "56:1440:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;199:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1365:129;;;;;;;;;;;;;:::i;:::-;;1058:192;;;;;;;;;;;;;:::i;:::-;;163:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;746:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1256:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;75:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;530:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;835:219;;;:::i;:::-;;107:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;139:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;199:43;;;;;;;;;;;;;;;;;:::o;1365:129::-;1395:6;;;;;;;;;;;:15;;:30;1411:13;;1395:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1436;1444:6;;;;;;;;;;;1452:13;;1436:30;;;;;;;:::i;:::-;;;;;;;;1488:1;1472:13;:17;;;;1365:129::o;1058:192::-;1099:13;1115:8;:20;1124:10;1115:20;;;;;;;;;;;;;;;;1099:36;;1164:1;1141:8;:20;1150:10;1141:20;;;;;;;;;;;;;;;:24;;;;1179:10;1171:28;;:35;1200:5;1171:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1217:28;1227:10;1239:5;1217:28;;;;;;;:::i;:::-;;;;;;;;1058:192;:::o;163:29::-;;;;;;;;;;;;;:::o;746:85::-;794:13;815:11;;;;;;;;;;;;;;;;;;;746:85;:::o;1256:105::-;492:5;;;;;;;;;;;478:19;;:10;:19;;;470:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1325:4:::1;1309:13;:20;;;;1340:16;1351:4;1340:16;;;;;;:::i;:::-;;;;;;;;1256:105:::0;:::o;75:28::-;;;;:::o;530:212::-;643:1;626:19;;:5;;;;;;;;;;;:19;;;618:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;684:7;675:6;;:16;;;;;;;;;;;;;;;;;;705:6;697:5;;:14;;;;;;;;;;;;;;;;;;733:4;717:13;:20;;;;530:212;;;:::o;835:219::-;883:11;925:3;909:13;;897:9;:25;;;;:::i;:::-;:31;;;;:::i;:::-;883:45;;971:3;959:9;:15;;;;:::i;:::-;934:8;:20;943:10;934:20;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;998:3;981:13;;:20;;;;;;;:::i;:::-;;;;;;;;1012:37;1022:10;1034:9;1045:3;1012:37;;;;;;;;:::i;:::-;;;;;;;;835:219;:::o;107:28::-;;;;:::o;139:20::-;;;;;;;;;;;;;:::o;7:139:3:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:155::-;;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;212:95;;;;:::o;313:139::-;;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;365:87;;;;:::o;458:262::-;;566:2;554:9;545:7;541:23;537:32;534:2;;;582:1;579;572:12;534:2;625:1;650:53;695:7;686:6;675:9;671:22;650:53;:::i;:::-;640:63;;596:117;524:196;;;;:::o;726:262::-;;834:2;822:9;813:7;809:23;805:32;802:2;;;850:1;847;840:12;802:2;893:1;918:53;963:7;954:6;943:9;939:22;918:53;:::i;:::-;908:63;;864:117;792:196;;;;:::o;994:568::-;;;;1144:2;1132:9;1123:7;1119:23;1115:32;1112:2;;;1160:1;1157;1150:12;1112:2;1203:1;1228:53;1273:7;1264:6;1253:9;1249:22;1228:53;:::i;:::-;1218:63;;1174:117;1330:2;1356:53;1401:7;1392:6;1381:9;1377:22;1356:53;:::i;:::-;1346:63;;1301:118;1458:2;1484:61;1537:7;1528:6;1517:9;1513:22;1484:61;:::i;:::-;1474:71;;1429:126;1102:460;;;;;:::o;1568:147::-;1663:45;1702:5;1663:45;:::i;:::-;1658:3;1651:58;1641:74;;:::o;1721:142::-;1824:32;1850:5;1824:32;:::i;:::-;1819:3;1812:45;1802:61;;:::o;1869:118::-;1956:24;1974:5;1956:24;:::i;:::-;1951:3;1944:37;1934:53;;:::o;1993:364::-;;2109:39;2142:5;2109:39;:::i;:::-;2164:71;2228:6;2223:3;2164:71;:::i;:::-;2157:78;;2244:52;2289:6;2284:3;2277:4;2270:5;2266:16;2244:52;:::i;:::-;2321:29;2343:6;2321:29;:::i;:::-;2316:3;2312:39;2305:46;;2085:272;;;;;:::o;2363:366::-;;2526:67;2590:2;2585:3;2526:67;:::i;:::-;2519:74;;2602:93;2691:3;2602:93;:::i;:::-;2720:2;2715:3;2711:12;2704:19;;2509:220;;;:::o;2735:366::-;;2898:67;2962:2;2957:3;2898:67;:::i;:::-;2891:74;;2974:93;3063:3;2974:93;:::i;:::-;3092:2;3087:3;3083:12;3076:19;;2881:220;;;:::o;3107:118::-;3194:24;3212:5;3194:24;:::i;:::-;3189:3;3182:37;3172:53;;:::o;3231:222::-;;3362:2;3351:9;3347:18;3339:26;;3375:71;3443:1;3432:9;3428:17;3419:6;3375:71;:::i;:::-;3329:124;;;;:::o;3459:254::-;;3606:2;3595:9;3591:18;3583:26;;3619:87;3703:1;3692:9;3688:17;3679:6;3619:87;:::i;:::-;3573:140;;;;:::o;3719:348::-;;3886:2;3875:9;3871:18;3863:26;;3899:79;3975:1;3964:9;3960:17;3951:6;3899:79;:::i;:::-;3988:72;4056:2;4045:9;4041:18;4032:6;3988:72;:::i;:::-;3853:214;;;;;:::o;4073:332::-;;4232:2;4221:9;4217:18;4209:26;;4245:71;4313:1;4302:9;4298:17;4289:6;4245:71;:::i;:::-;4326:72;4394:2;4383:9;4379:18;4370:6;4326:72;:::i;:::-;4199:206;;;;;:::o;4411:442::-;;4598:2;4587:9;4583:18;4575:26;;4611:71;4679:1;4668:9;4664:17;4655:6;4611:71;:::i;:::-;4692:72;4760:2;4749:9;4745:18;4736:6;4692:72;:::i;:::-;4774;4842:2;4831:9;4827:18;4818:6;4774:72;:::i;:::-;4565:288;;;;;;:::o;4859:313::-;;5010:2;4999:9;4995:18;4987:26;;5059:9;5053:4;5049:20;5045:1;5034:9;5030:17;5023:47;5087:78;5160:4;5151:6;5087:78;:::i;:::-;5079:86;;4977:195;;;;:::o;5178:419::-;;5382:2;5371:9;5367:18;5359:26;;5431:9;5425:4;5421:20;5417:1;5406:9;5402:17;5395:47;5459:131;5585:4;5459:131;:::i;:::-;5451:139;;5349:248;;;:::o;5603:419::-;;5807:2;5796:9;5792:18;5784:26;;5856:9;5850:4;5846:20;5842:1;5831:9;5827:17;5820:47;5884:131;6010:4;5884:131;:::i;:::-;5876:139;;5774:248;;;:::o;6028:222::-;;6159:2;6148:9;6144:18;6136:26;;6172:71;6240:1;6229:9;6225:17;6216:6;6172:71;:::i;:::-;6126:124;;;;:::o;6256:99::-;;6342:5;6336:12;6326:22;;6315:40;;;:::o;6361:169::-;;6479:6;6474:3;6467:19;6519:4;6514:3;6510:14;6495:29;;6457:73;;;;:::o;6536:305::-;;6595:20;6613:1;6595:20;:::i;:::-;6590:25;;6629:20;6647:1;6629:20;:::i;:::-;6624:25;;6783:1;6715:66;6711:74;6708:1;6705:81;6702:2;;;6789:18;;:::i;:::-;6702:2;6833:1;6830;6826:9;6819:16;;6580:261;;;;:::o;6847:185::-;;6904:20;6922:1;6904:20;:::i;:::-;6899:25;;6938:20;6956:1;6938:20;:::i;:::-;6933:25;;6977:1;6967:2;;6982:18;;:::i;:::-;6967:2;7024:1;7021;7017:9;7012:14;;6889:143;;;;:::o;7038:348::-;;7101:20;7119:1;7101:20;:::i;:::-;7096:25;;7135:20;7153:1;7135:20;:::i;:::-;7130:25;;7323:1;7255:66;7251:74;7248:1;7245:81;7240:1;7233:9;7226:17;7222:105;7219:2;;;7330:18;;:::i;:::-;7219:2;7378:1;7375;7371:9;7360:20;;7086:300;;;;:::o;7392:191::-;;7452:20;7470:1;7452:20;:::i;:::-;7447:25;;7486:20;7504:1;7486:20;:::i;:::-;7481:25;;7525:1;7522;7519:8;7516:2;;;7530:18;;:::i;:::-;7516:2;7575:1;7572;7568:9;7560:17;;7437:146;;;;:::o;7589:96::-;;7655:24;7673:5;7655:24;:::i;:::-;7644:35;;7634:51;;;:::o;7691:104::-;;7765:24;7783:5;7765:24;:::i;:::-;7754:35;;7744:51;;;:::o;7801:126::-;;7878:42;7871:5;7867:54;7856:65;;7846:81;;;:::o;7933:77::-;;7999:5;7988:16;;7978:32;;;:::o;8016:134::-;;8107:37;8138:5;8107:37;:::i;:::-;8094:50;;8084:66;;;:::o;8156:126::-;;8239:37;8270:5;8239:37;:::i;:::-;8226:50;;8216:66;;;:::o;8288:113::-;;8371:24;8389:5;8371:24;:::i;:::-;8358:37;;8348:53;;;:::o;8407:307::-;8475:1;8485:113;8499:6;8496:1;8493:13;8485:113;;;8584:1;8579:3;8575:11;8569:18;8565:1;8560:3;8556:11;8549:39;8521:2;8518:1;8514:10;8509:15;;8485:113;;;8616:6;8613:1;8610:13;8607:2;;;8696:1;8687:6;8682:3;8678:16;8671:27;8607:2;8456:258;;;;:::o;8720:180::-;8768:77;8765:1;8758:88;8865:4;8862:1;8855:15;8889:4;8886:1;8879:15;8906:180;8954:77;8951:1;8944:88;9051:4;9048:1;9041:15;9075:4;9072:1;9065:15;9092:102;;9184:2;9180:7;9175:2;9168:5;9164:14;9160:28;9150:38;;9140:54;;;:::o;9200:162::-;9340:14;9336:1;9328:6;9324:14;9317:38;9306:56;:::o;9368:169::-;9508:21;9504:1;9496:6;9492:14;9485:45;9474:63;:::o;9543:122::-;9616:24;9634:5;9616:24;:::i;:::-;9609:5;9606:35;9596:2;;9655:1;9652;9645:12;9596:2;9586:79;:::o;9671:138::-;9752:32;9778:5;9752:32;:::i;:::-;9745:5;9742:43;9732:2;;9799:1;9796;9789:12;9732:2;9722:87;:::o;9815:122::-;9888:24;9906:5;9888:24;:::i;:::-;9881:5;9878:35;9868:2;;9927:1;9924;9917:12;9868:2;9858:79;:::o"
},
"methodIdentifiers": {
"admin()": "f851a440",
"balances(address)": "27e235e3",
"deposit()": "d0e30db0",
"feePercentage()": "a001ecdd",
"feesCollected()": "f071db5a",
"initialize(uint256,address,address)": "b4988fd0",
"setFee(uint256)": "69fe0e2d",
"sweep()": "35faa416",
"version()": "54fd4d50",
"wallet()": "521eb273",
"withdraw()": "3ccfd60b"
}
}
},
"VaultV2": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"name": "Deposited",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "newFee",
"type": "uint256"
}
],
"name": "FeeChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "wallet",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Sweeped",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "Unpaused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [],
"name": "admin",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "deposit",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "feePercentage",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feesCollected",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_fee",
"type": "uint256"
},
{
"internalType": "address",
"name": "_admin",
"type": "address"
},
{
"internalType": "address payable",
"name": "_wallet",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_fee",
"type": "uint256"
}
],
"name": "setFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "sweep",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "wallet",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"evm": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50611197806100206000396000f3fe6080604052600436106100dd5760003560e01c806369fe0e2d1161007f578063b4988fd011610059578063b4988fd014610250578063d0e30db014610279578063f071db5a14610283578063f851a440146102ae576100dd565b806369fe0e2d146101e55780638456cb591461020e578063a001ecdd14610225576100dd565b80633f4ba83a116100bb5780633f4ba83a1461014d578063521eb2731461016457806354fd4d501461018f5780635c975abb146101ba576100dd565b806327e235e3146100e257806335faa4161461011f5780633ccfd60b14610136575b600080fd5b3480156100ee57600080fd5b5061010960048036038101906101049190610a61565b6102d9565b6040516101169190610dd1565b60405180910390f35b34801561012b57600080fd5b506101346102f1565b005b34801561014257600080fd5b5061014b6103c3565b005b34801561015957600080fd5b5061016261041d565b005b34801561017057600080fd5b506101796104b5565b6040516101869190610c50565b60405180910390f35b34801561019b57600080fd5b506101a46104db565b6040516101b19190610d0f565b60405180910390f35b3480156101c657600080fd5b506101cf610518565b6040516101dc9190610cf4565b60405180910390f35b3480156101f157600080fd5b5061020c60048036038101906102079190610a8a565b61052b565b005b34801561021a57600080fd5b506102236105fc565b005b34801561023157600080fd5b5061023a610695565b6040516102479190610dd1565b60405180910390f35b34801561025c57600080fd5b5061027760048036038101906102729190610ab3565b61069b565b005b6102816107ba565b005b34801561028f57600080fd5b50610298610814565b6040516102a59190610dd1565b60405180910390f35b3480156102ba57600080fd5b506102c361081a565b6040516102d09190610c35565b60405180910390f35b60046020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6001549081150290604051600060405180830381858888f1935050505015801561035b573d6000803e3d6000fd5b507f1b94d65e3a03a98b13e90142a41884547fdd622b7f14a4daf94f6338e2e85cf0600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001546040516103b1929190610c6b565b60405180910390a16000600181905550565b600560009054906101000a900460ff1615610413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040a90610db1565b60405180910390fd5b61041b610840565b565b600560009054906101000a900460ff1661046c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046390610d51565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693360405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600281526020017f7632000000000000000000000000000000000000000000000000000000000000815250905090565b600560009054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b290610d31565b60405180910390fd5b806000819055507f6bbc57480a46553fa4d156ce702beef5f3ad66303b0ed1a5d4cb44966c6584c3816040516105f19190610dd1565b60405180910390a150565b600560009054906101000a900460ff161561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610d71565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b60005481565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072390610d91565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600081905550505050565b600560009054906101000a900460ff161561080a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080190610db1565b60405180910390fd5b61081261094c565b565b60015481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561090f573d6000803e3d6000fd5b507f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d53382604051610941929190610c94565b60405180910390a150565b600060646000543461095e9190610e8f565b6109689190610e5e565b905080346109769190610ee9565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109c49190610e08565b9250508190555080600160008282546109dd9190610e08565b925050819055507f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca333483604051610a1793929190610cbd565b60405180910390a150565b600081359050610a318161111c565b92915050565b600081359050610a4681611133565b92915050565b600081359050610a5b8161114a565b92915050565b600060208284031215610a7357600080fd5b6000610a8184828501610a22565b91505092915050565b600060208284031215610a9c57600080fd5b6000610aaa84828501610a4c565b91505092915050565b600080600060608486031215610ac857600080fd5b6000610ad686828701610a4c565b9350506020610ae786828701610a22565b9250506040610af886828701610a37565b9150509250925092565b610b0b81610f77565b82525050565b610b1a81610f2f565b82525050565b610b2981610f1d565b82525050565b610b3881610f41565b82525050565b6000610b4982610dec565b610b538185610df7565b9350610b63818560208601610fad565b610b6c8161103e565b840191505092915050565b6000610b84600c83610df7565b9150610b8f8261104f565b602082019050919050565b6000610ba7601383610df7565b9150610bb282611078565b602082019050919050565b6000610bca601783610df7565b9150610bd5826110a1565b602082019050919050565b6000610bed601383610df7565b9150610bf8826110ca565b602082019050919050565b6000610c10601283610df7565b9150610c1b826110f3565b602082019050919050565b610c2f81610f6d565b82525050565b6000602082019050610c4a6000830184610b20565b92915050565b6000602082019050610c656000830184610b11565b92915050565b6000604082019050610c806000830185610b02565b610c8d6020830184610c26565b9392505050565b6000604082019050610ca96000830185610b20565b610cb66020830184610c26565b9392505050565b6000606082019050610cd26000830186610b20565b610cdf6020830185610c26565b610cec6040830184610c26565b949350505050565b6000602082019050610d096000830184610b2f565b92915050565b60006020820190508181036000830152610d298184610b3e565b905092915050565b60006020820190508181036000830152610d4a81610b77565b9050919050565b60006020820190508181036000830152610d6a81610b9a565b9050919050565b60006020820190508181036000830152610d8a81610bbd565b9050919050565b60006020820190508181036000830152610daa81610be0565b9050919050565b60006020820190508181036000830152610dca81610c03565b9050919050565b6000602082019050610de66000830184610c26565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610e1382610f6d565b9150610e1e83610f6d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e5357610e52610fe0565b5b828201905092915050565b6000610e6982610f6d565b9150610e7483610f6d565b925082610e8457610e8361100f565b5b828204905092915050565b6000610e9a82610f6d565b9150610ea583610f6d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610ede57610edd610fe0565b5b828202905092915050565b6000610ef482610f6d565b9150610eff83610f6d565b925082821015610f1257610f11610fe0565b5b828203905092915050565b6000610f2882610f4d565b9050919050565b6000610f3a82610f4d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610f8282610f89565b9050919050565b6000610f9482610f9b565b9050919050565b6000610fa682610f4d565b9050919050565b60005b83811015610fcb578082015181840152602081019050610fb0565b83811115610fda576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b7f436f6e7472616374206e6f742070617573656400000000000000000000000000600082015250565b7f436f6e747261637420616c726561647920706175736564000000000000000000600082015250565b7f416c726561647920696e697469616c697a656400000000000000000000000000600082015250565b7f436f6e7472616374206973207061757365640000000000000000000000000000600082015250565b61112581610f1d565b811461113057600080fd5b50565b61113c81610f2f565b811461114757600080fd5b50565b61115381610f6d565b811461115e57600080fd5b5056fea26469706673582212206ac8dc94bd7982fdd4b02009498fe40fc0f7c7a36d39f48ab515adcd082c891664736f6c63430008020033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1197 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xDD JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x69FE0E2D GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xB4988FD0 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xB4988FD0 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0xD0E30DB0 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0xF071DB5A EQ PUSH2 0x283 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x2AE JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x69FE0E2D EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x20E JUMPI DUP1 PUSH4 0xA001ECDD EQ PUSH2 0x225 JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x3F4BA83A GT PUSH2 0xBB JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x14D JUMPI DUP1 PUSH4 0x521EB273 EQ PUSH2 0x164 JUMPI DUP1 PUSH4 0x54FD4D50 EQ PUSH2 0x18F JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x1BA JUMPI PUSH2 0xDD JUMP JUMPDEST DUP1 PUSH4 0x27E235E3 EQ PUSH2 0xE2 JUMPI DUP1 PUSH4 0x35FAA416 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0x136 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x109 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x104 SWAP2 SWAP1 PUSH2 0xA61 JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x116 SWAP2 SWAP1 PUSH2 0xDD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x134 PUSH2 0x2F1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x142 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14B PUSH2 0x3C3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x159 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x162 PUSH2 0x41D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0x4B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x186 SWAP2 SWAP1 PUSH2 0xC50 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x19B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A4 PUSH2 0x4DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B1 SWAP2 SWAP1 PUSH2 0xD0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CF PUSH2 0x518 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0xCF4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x207 SWAP2 SWAP1 PUSH2 0xA8A JUMP JUMPDEST PUSH2 0x52B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x223 PUSH2 0x5FC JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x231 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23A PUSH2 0x695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x247 SWAP2 SWAP1 PUSH2 0xDD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x277 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x272 SWAP2 SWAP1 PUSH2 0xAB3 JUMP JUMPDEST PUSH2 0x69B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x281 PUSH2 0x7BA JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x298 PUSH2 0x814 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A5 SWAP2 SWAP1 PUSH2 0xDD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2C3 PUSH2 0x81A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0xC35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x1 SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x35B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x1B94D65E3A03A98B13E90142A41884547FDD622B7F14A4DAF94F6338E2E85CF0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH2 0x3B1 SWAP3 SWAP2 SWAP1 PUSH2 0xC6B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x413 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x40A SWAP1 PUSH2 0xDB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x41B PUSH2 0x840 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x46C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x463 SWAP1 PUSH2 0xD51 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xA45F47FDEA8A1EFDD9029A5691C7F759C32B7C698632B563573E155625D16933 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7632000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x5BB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5B2 SWAP1 PUSH2 0xD31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH32 0x6BBC57480A46553FA4D156CE702BEEF5F3AD66303B0ED1A5D4CB44966C6584C3 DUP2 PUSH1 0x40 MLOAD PUSH2 0x5F1 SWAP2 SWAP1 PUSH2 0xDD1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x643 SWAP1 PUSH2 0xD71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x9E87FAC88FF661F02D44F95383C817FECE4BCE600A3DAB7A54406878B965E752 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x72C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x723 SWAP1 PUSH2 0xD91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x80A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x801 SWAP1 PUSH2 0xDB1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x812 PUSH2 0x94C JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x90F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x941 SWAP3 SWAP2 SWAP1 PUSH2 0xC94 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH1 0x0 SLOAD CALLVALUE PUSH2 0x95E SWAP2 SWAP1 PUSH2 0xE8F JUMP JUMPDEST PUSH2 0x968 SWAP2 SWAP1 PUSH2 0xE5E JUMP JUMPDEST SWAP1 POP DUP1 CALLVALUE PUSH2 0x976 SWAP2 SWAP1 PUSH2 0xEE9 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9C4 SWAP2 SWAP1 PUSH2 0xE08 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9DD SWAP2 SWAP1 PUSH2 0xE08 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x73A19DD210F1A7F902193214C0EE91DD35EE5B4D920CBA8D519ECA65A7B488CA CALLER CALLVALUE DUP4 PUSH1 0x40 MLOAD PUSH2 0xA17 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xCBD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA31 DUP2 PUSH2 0x111C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA46 DUP2 PUSH2 0x1133 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA5B DUP2 PUSH2 0x114A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA81 DUP5 DUP3 DUP6 ADD PUSH2 0xA22 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xAAA DUP5 DUP3 DUP6 ADD PUSH2 0xA4C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xAC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xAD6 DUP7 DUP3 DUP8 ADD PUSH2 0xA4C JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xAE7 DUP7 DUP3 DUP8 ADD PUSH2 0xA22 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xAF8 DUP7 DUP3 DUP8 ADD PUSH2 0xA37 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0xB0B DUP2 PUSH2 0xF77 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB1A DUP2 PUSH2 0xF2F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB29 DUP2 PUSH2 0xF1D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB38 DUP2 PUSH2 0xF41 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB49 DUP3 PUSH2 0xDEC JUMP JUMPDEST PUSH2 0xB53 DUP2 DUP6 PUSH2 0xDF7 JUMP JUMPDEST SWAP4 POP PUSH2 0xB63 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xFAD JUMP JUMPDEST PUSH2 0xB6C DUP2 PUSH2 0x103E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB84 PUSH1 0xC DUP4 PUSH2 0xDF7 JUMP JUMPDEST SWAP2 POP PUSH2 0xB8F DUP3 PUSH2 0x104F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBA7 PUSH1 0x13 DUP4 PUSH2 0xDF7 JUMP JUMPDEST SWAP2 POP PUSH2 0xBB2 DUP3 PUSH2 0x1078 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBCA PUSH1 0x17 DUP4 PUSH2 0xDF7 JUMP JUMPDEST SWAP2 POP PUSH2 0xBD5 DUP3 PUSH2 0x10A1 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBED PUSH1 0x13 DUP4 PUSH2 0xDF7 JUMP JUMPDEST SWAP2 POP PUSH2 0xBF8 DUP3 PUSH2 0x10CA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC10 PUSH1 0x12 DUP4 PUSH2 0xDF7 JUMP JUMPDEST SWAP2 POP PUSH2 0xC1B DUP3 PUSH2 0x10F3 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC2F DUP2 PUSH2 0xF6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC4A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB20 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC65 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB11 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xC80 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xB02 JUMP JUMPDEST PUSH2 0xC8D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC26 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xCA9 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xB20 JUMP JUMPDEST PUSH2 0xCB6 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC26 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xCD2 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xB20 JUMP JUMPDEST PUSH2 0xCDF PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xC26 JUMP JUMPDEST PUSH2 0xCEC PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0xC26 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD09 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB2F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD29 DUP2 DUP5 PUSH2 0xB3E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD4A DUP2 PUSH2 0xB77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD6A DUP2 PUSH2 0xB9A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD8A DUP2 PUSH2 0xBBD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDAA DUP2 PUSH2 0xBE0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDCA DUP2 PUSH2 0xC03 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDE6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC26 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE13 DUP3 PUSH2 0xF6D JUMP JUMPDEST SWAP2 POP PUSH2 0xE1E DUP4 PUSH2 0xF6D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE52 PUSH2 0xFE0 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE69 DUP3 PUSH2 0xF6D JUMP JUMPDEST SWAP2 POP PUSH2 0xE74 DUP4 PUSH2 0xF6D JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0xE84 JUMPI PUSH2 0xE83 PUSH2 0x100F JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE9A DUP3 PUSH2 0xF6D JUMP JUMPDEST SWAP2 POP PUSH2 0xEA5 DUP4 PUSH2 0xF6D JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xEDE JUMPI PUSH2 0xEDD PUSH2 0xFE0 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEF4 DUP3 PUSH2 0xF6D JUMP JUMPDEST SWAP2 POP PUSH2 0xEFF DUP4 PUSH2 0xF6D JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xF12 JUMPI PUSH2 0xF11 PUSH2 0xFE0 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF28 DUP3 PUSH2 0xF4D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF3A DUP3 PUSH2 0xF4D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF82 DUP3 PUSH2 0xF89 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF94 DUP3 PUSH2 0xF9B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFA6 DUP3 PUSH2 0xF4D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xFCB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xFB0 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xFDA JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x556E617574686F72697A65640000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436F6E7472616374206E6F742070617573656400000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436F6E747261637420616C726561647920706175736564000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416C726561647920696E697469616C697A656400000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436F6E7472616374206973207061757365640000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x1125 DUP2 PUSH2 0xF1D JUMP JUMPDEST DUP2 EQ PUSH2 0x1130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x113C DUP2 PUSH2 0xF2F JUMP JUMPDEST DUP2 EQ PUSH2 0x1147 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1153 DUP2 PUSH2 0xF6D JUMP JUMPDEST DUP2 EQ PUSH2 0x115E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH11 0xC8DC94BD7982FDD4B02009 0x49 DUP16 0xE4 0xF 0xC0 0xF7 0xC7 LOG3 PUSH14 0x39F48AB515ADCD082C891664736F PUSH13 0x63430008020033000000000000 ",
"sourceMap": "1498:681:1:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:13286:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:3"
},
"nodeType": "YulFunctionCall",
"src": "78:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:3"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:3"
},
"nodeType": "YulFunctionCall",
"src": "107:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:3"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:3",
"type": ""
}
],
"src": "7:139:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "212:95:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "222:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "244:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "231:12:3"
},
"nodeType": "YulFunctionCall",
"src": "231:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "222:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "295:5:3"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "260:34:3"
},
"nodeType": "YulFunctionCall",
"src": "260:41:3"
},
"nodeType": "YulExpressionStatement",
"src": "260:41:3"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "190:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "198:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "206:5:3",
"type": ""
}
],
"src": "152:155:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "365:87:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "375:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "397:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "384:12:3"
},
"nodeType": "YulFunctionCall",
"src": "384:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "375:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "440:5:3"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "413:26:3"
},
"nodeType": "YulFunctionCall",
"src": "413:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "413:33:3"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "343:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "351:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "359:5:3",
"type": ""
}
],
"src": "313:139:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "524:196:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "579:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "582:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "572:6:3"
},
"nodeType": "YulFunctionCall",
"src": "572:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "572:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "545:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "554:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "541:3:3"
},
"nodeType": "YulFunctionCall",
"src": "541:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "566:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "537:3:3"
},
"nodeType": "YulFunctionCall",
"src": "537:32:3"
},
"nodeType": "YulIf",
"src": "534:2:3"
},
{
"nodeType": "YulBlock",
"src": "596:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "611:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "625:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "615:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "640:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "675:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "686:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "671:3:3"
},
"nodeType": "YulFunctionCall",
"src": "671:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "695:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "650:20:3"
},
"nodeType": "YulFunctionCall",
"src": "650:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "640:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "494:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "505:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "517:6:3",
"type": ""
}
],
"src": "458:262:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "792:196:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "838:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "847:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "850:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "840:6:3"
},
"nodeType": "YulFunctionCall",
"src": "840:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "840:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "813:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "822:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "809:3:3"
},
"nodeType": "YulFunctionCall",
"src": "809:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "834:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "805:3:3"
},
"nodeType": "YulFunctionCall",
"src": "805:32:3"
},
"nodeType": "YulIf",
"src": "802:2:3"
},
{
"nodeType": "YulBlock",
"src": "864:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "879:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "893:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "883:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "908:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "943:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "954:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "939:3:3"
},
"nodeType": "YulFunctionCall",
"src": "939:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "963:7:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "918:20:3"
},
"nodeType": "YulFunctionCall",
"src": "918:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "908:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "762:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "773:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "785:6:3",
"type": ""
}
],
"src": "726:262:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1102:460:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1148:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1157:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1160:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1150:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1150:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "1150:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1123:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1132:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1119:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1119:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1144:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1115:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1115:32:3"
},
"nodeType": "YulIf",
"src": "1112:2:3"
},
{
"nodeType": "YulBlock",
"src": "1174:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1189:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1203:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1193:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1218:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1253:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1264:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1249:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1249:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1273:7:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1228:20:3"
},
"nodeType": "YulFunctionCall",
"src": "1228:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1218:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1301:118:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1316:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1330:2:3",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1320:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1346:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1381:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1392:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1377:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1377:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1401:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1356:20:3"
},
"nodeType": "YulFunctionCall",
"src": "1356:53:3"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1346:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1429:126:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1444:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1458:2:3",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1448:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1474:71:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1517:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1528:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1513:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1513:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1537:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1484:28:3"
},
"nodeType": "YulFunctionCall",
"src": "1484:61:3"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1474:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_addresst_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1056:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1067:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1079:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1087:6:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1095:6:3",
"type": ""
}
],
"src": "994:568:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1641:74:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1658:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1702:5:3"
}
],
"functionName": {
"name": "convert_t_address_payable_to_t_address",
"nodeType": "YulIdentifier",
"src": "1663:38:3"
},
"nodeType": "YulFunctionCall",
"src": "1663:45:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1651:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1651:58:3"
},
"nodeType": "YulExpressionStatement",
"src": "1651:58:3"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1629:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1636:3:3",
"type": ""
}
],
"src": "1568:147:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1802:61:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1819:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1850:5:3"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1824:25:3"
},
"nodeType": "YulFunctionCall",
"src": "1824:32:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1812:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1812:45:3"
},
"nodeType": "YulExpressionStatement",
"src": "1812:45:3"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1790:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1797:3:3",
"type": ""
}
],
"src": "1721:142:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1934:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1951:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1974:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1956:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1956:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1944:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1944:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "1944:37:3"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1922:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1929:3:3",
"type": ""
}
],
"src": "1869:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2052:50:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2069:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2089:5:3"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "2074:14:3"
},
"nodeType": "YulFunctionCall",
"src": "2074:21:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2062:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2062:34:3"
},
"nodeType": "YulExpressionStatement",
"src": "2062:34:3"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2040:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2047:3:3",
"type": ""
}
],
"src": "1993:109:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2200:272:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2210:53:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2257:5:3"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2224:32:3"
},
"nodeType": "YulFunctionCall",
"src": "2224:39:3"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2214:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2272:78:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2338:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2343:6:3"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2279:58:3"
},
"nodeType": "YulFunctionCall",
"src": "2279:71:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2272:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2385:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2392:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2381:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2381:16:3"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2399:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2404:6:3"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2359:21:3"
},
"nodeType": "YulFunctionCall",
"src": "2359:52:3"
},
"nodeType": "YulExpressionStatement",
"src": "2359:52:3"
},
{
"nodeType": "YulAssignment",
"src": "2420:46:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2431:3:3"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2458:6:3"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2436:21:3"
},
"nodeType": "YulFunctionCall",
"src": "2436:29:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2427:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2427:39:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2420:3:3"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2181:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2188:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2196:3:3",
"type": ""
}
],
"src": "2108:364:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2624:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2634:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2700:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2705:2:3",
"type": "",
"value": "12"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2641:58:3"
},
"nodeType": "YulFunctionCall",
"src": "2641:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2634:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2806:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5",
"nodeType": "YulIdentifier",
"src": "2717:88:3"
},
"nodeType": "YulFunctionCall",
"src": "2717:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "2717:93:3"
},
{
"nodeType": "YulAssignment",
"src": "2819:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2830:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2835:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2826:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2826:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2819:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2612:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2620:3:3",
"type": ""
}
],
"src": "2478:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2996:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3006:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3072:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3077:2:3",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3013:58:3"
},
"nodeType": "YulFunctionCall",
"src": "3013:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3006:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3178:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_7c30677bd7081a9235a2e690f51cde22929b68bc8dcee0f346b4bef5e173b93d",
"nodeType": "YulIdentifier",
"src": "3089:88:3"
},
"nodeType": "YulFunctionCall",
"src": "3089:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "3089:93:3"
},
{
"nodeType": "YulAssignment",
"src": "3191:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3202:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3207:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3198:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3198:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3191:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_7c30677bd7081a9235a2e690f51cde22929b68bc8dcee0f346b4bef5e173b93d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2984:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2992:3:3",
"type": ""
}
],
"src": "2850:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3368:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3378:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3444:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3449:2:3",
"type": "",
"value": "23"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3385:58:3"
},
"nodeType": "YulFunctionCall",
"src": "3385:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3378:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3550:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_c216ccab3a4c0b9491157f81322af6c5d8be53a088651c13f1520972e2a3bac8",
"nodeType": "YulIdentifier",
"src": "3461:88:3"
},
"nodeType": "YulFunctionCall",
"src": "3461:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "3461:93:3"
},
{
"nodeType": "YulAssignment",
"src": "3563:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3574:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3579:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3570:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3570:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3563:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c216ccab3a4c0b9491157f81322af6c5d8be53a088651c13f1520972e2a3bac8_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3356:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3364:3:3",
"type": ""
}
],
"src": "3222:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3740:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3750:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3816:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3821:2:3",
"type": "",
"value": "19"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3757:58:3"
},
"nodeType": "YulFunctionCall",
"src": "3757:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3750:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3922:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0",
"nodeType": "YulIdentifier",
"src": "3833:88:3"
},
"nodeType": "YulFunctionCall",
"src": "3833:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "3833:93:3"
},
{
"nodeType": "YulAssignment",
"src": "3935:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3946:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3951:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3942:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3942:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3935:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3728:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3736:3:3",
"type": ""
}
],
"src": "3594:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4112:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4122:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4188:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4193:2:3",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4129:58:3"
},
"nodeType": "YulFunctionCall",
"src": "4129:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4122:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4294:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d",
"nodeType": "YulIdentifier",
"src": "4205:88:3"
},
"nodeType": "YulFunctionCall",
"src": "4205:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "4205:93:3"
},
{
"nodeType": "YulAssignment",
"src": "4307:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4318:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4323:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4314:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4314:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4307:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4100:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4108:3:3",
"type": ""
}
],
"src": "3966:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4403:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4420:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4443:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4425:17:3"
},
"nodeType": "YulFunctionCall",
"src": "4425:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4413:6:3"
},
"nodeType": "YulFunctionCall",
"src": "4413:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "4413:37:3"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4391:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4398:3:3",
"type": ""
}
],
"src": "4338:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4560:124:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4570:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4582:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4593:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4578:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4578:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4570:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4650:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4663:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4674:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4659:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4659:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4606:43:3"
},
"nodeType": "YulFunctionCall",
"src": "4606:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "4606:71:3"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4532:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4544:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4555:4:3",
"type": ""
}
],
"src": "4462:222:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4804:140:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4814:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4826:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4837:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4822:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4822:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4814:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4910:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4923:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4934:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4919:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4919:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nodeType": "YulIdentifier",
"src": "4850:59:3"
},
"nodeType": "YulFunctionCall",
"src": "4850:87:3"
},
"nodeType": "YulExpressionStatement",
"src": "4850:87:3"
}
]
},
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4776:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4788:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4799:4:3",
"type": ""
}
],
"src": "4690:254:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5084:214:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5094:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5106:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5117:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5102:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5102:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5094:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5182:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5195:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5206:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5191:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5191:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5130:51:3"
},
"nodeType": "YulFunctionCall",
"src": "5130:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "5130:79:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5263:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5276:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5287:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5272:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5272:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5219:43:3"
},
"nodeType": "YulFunctionCall",
"src": "5219:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "5219:72:3"
}
]
},
"name": "abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5048:9:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5060:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5068:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5079:4:3",
"type": ""
}
],
"src": "4950:348:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5430:206:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5440:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5452:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5463:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5448:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5448:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5440:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5520:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5533:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5544:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5529:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5529:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5476:43:3"
},
"nodeType": "YulFunctionCall",
"src": "5476:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "5476:71:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5601:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5614:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5625:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5610:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5610:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5557:43:3"
},
"nodeType": "YulFunctionCall",
"src": "5557:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "5557:72:3"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5394:9:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5406:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5414:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5425:4:3",
"type": ""
}
],
"src": "5304:332:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5796:288:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5806:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5818:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5829:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5814:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5814:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5806:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5886:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5899:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5910:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5895:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5895:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5842:43:3"
},
"nodeType": "YulFunctionCall",
"src": "5842:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "5842:71:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5967:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5980:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5991:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5976:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5976:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5923:43:3"
},
"nodeType": "YulFunctionCall",
"src": "5923:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "5923:72:3"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "6049:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6062:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6073:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6058:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6058:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "6005:43:3"
},
"nodeType": "YulFunctionCall",
"src": "6005:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "6005:72:3"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5752:9:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "5764:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5772:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5780:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5791:4:3",
"type": ""
}
],
"src": "5642:442:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6182:118:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6192:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6204:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6215:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6200:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6200:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6192:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6266:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6279:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6290:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6275:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6275:17:3"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "6228:37:3"
},
"nodeType": "YulFunctionCall",
"src": "6228:65:3"
},
"nodeType": "YulExpressionStatement",
"src": "6228:65:3"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6154:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6166:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6177:4:3",
"type": ""
}
],
"src": "6090:210:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6424:195:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6434:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6446:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6457:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6442:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6442:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6434:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6481:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6492:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6477:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6477:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6500:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6506:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6496:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6496:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6470:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6470:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "6470:47:3"
},
{
"nodeType": "YulAssignment",
"src": "6526:86:3",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6598:6:3"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6607:4:3"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6534:63:3"
},
"nodeType": "YulFunctionCall",
"src": "6534:78:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6526:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6396:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6408:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6419:4:3",
"type": ""
}
],
"src": "6306:313:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6796:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6806:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6818:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6829:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6814:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6814:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6806:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6853:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6864:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6849:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6849:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6872:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6878:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6868:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6868:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6842:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6842:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "6842:47:3"
},
{
"nodeType": "YulAssignment",
"src": "6898:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7032:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6906:124:3"
},
"nodeType": "YulFunctionCall",
"src": "6906:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6898:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_1b2638459828301e8cd6c7c02856073bacf975379e0867f689bb14feacb780c5__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6776:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6791:4:3",
"type": ""
}
],
"src": "6625:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7221:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7231:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7243:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7254:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7239:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7239:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7231:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7278:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7289:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7274:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7274:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7297:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7303:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7293:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7293:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7267:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7267:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "7267:47:3"
},
{
"nodeType": "YulAssignment",
"src": "7323:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7457:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_7c30677bd7081a9235a2e690f51cde22929b68bc8dcee0f346b4bef5e173b93d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7331:124:3"
},
"nodeType": "YulFunctionCall",
"src": "7331:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7323:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_7c30677bd7081a9235a2e690f51cde22929b68bc8dcee0f346b4bef5e173b93d__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7201:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7216:4:3",
"type": ""
}
],
"src": "7050:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7646:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7656:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7668:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7679:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7664:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7664:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7656:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7703:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7714:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7699:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7699:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7722:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7728:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7718:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7718:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7692:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7692:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "7692:47:3"
},
{
"nodeType": "YulAssignment",
"src": "7748:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7882:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c216ccab3a4c0b9491157f81322af6c5d8be53a088651c13f1520972e2a3bac8_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7756:124:3"
},
"nodeType": "YulFunctionCall",
"src": "7756:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7748:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c216ccab3a4c0b9491157f81322af6c5d8be53a088651c13f1520972e2a3bac8__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7626:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7641:4:3",
"type": ""
}
],
"src": "7475:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8071:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8081:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8093:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8104:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8089:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8089:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8081:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8128:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8139:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8124:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8124:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8147:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8153:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8143:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8143:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8117:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8117:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "8117:47:3"
},
{
"nodeType": "YulAssignment",
"src": "8173:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8307:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8181:124:3"
},
"nodeType": "YulFunctionCall",
"src": "8181:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8173:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_d3814fd4e72cfd7651525eee846049aca388165c613a1085fb56751abcdd36c0__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8051:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8066:4:3",
"type": ""
}
],
"src": "7900:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8496:248:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8506:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8518:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8529:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8514:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8514:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8506:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8553:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8564:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8549:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8549:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8572:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8578:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8568:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8568:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8542:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8542:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "8542:47:3"
},
{
"nodeType": "YulAssignment",
"src": "8598:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8732:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8606:124:3"
},
"nodeType": "YulFunctionCall",
"src": "8606:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8598:4:3"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8476:9:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8491:4:3",
"type": ""
}
],
"src": "8325:419:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8848:124:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8858:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8870:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8881:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8866:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8866:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8858:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "8938:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8951:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8962:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8947:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8947:17:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "8894:43:3"
},
"nodeType": "YulFunctionCall",
"src": "8894:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "8894:71:3"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8820:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "8832:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8843:4:3",
"type": ""
}
],
"src": "8750:222:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9037:40:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9048:22:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9064:5:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "9058:5:3"
},
"nodeType": "YulFunctionCall",
"src": "9058:12:3"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9048:6:3"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9020:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9030:6:3",
"type": ""
}
],
"src": "8978:99:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9179:73:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9196:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9201:6:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9189:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9189:19:3"
},
"nodeType": "YulExpressionStatement",
"src": "9189:19:3"
},
{
"nodeType": "YulAssignment",
"src": "9217:29:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "9236:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9241:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9232:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9232:14:3"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "9217:11:3"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "9151:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9156:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "9167:11:3",
"type": ""
}
],
"src": "9083:169:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9302:261:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9312:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9335:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9317:17:3"
},
"nodeType": "YulFunctionCall",
"src": "9317:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9312:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9346:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9369:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9351:17:3"
},
"nodeType": "YulFunctionCall",
"src": "9351:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9346:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9509:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "9511:16:3"
},
"nodeType": "YulFunctionCall",
"src": "9511:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "9511:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9430:1:3"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9437:66:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9505:1:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "9433:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9433:74:3"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9427:2:3"
},
"nodeType": "YulFunctionCall",
"src": "9427:81:3"
},
"nodeType": "YulIf",
"src": "9424:2:3"
},
{
"nodeType": "YulAssignment",
"src": "9541:16:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9552:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9555:1:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9548:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9548:9:3"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "9541:3:3"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "9289:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "9292:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "9298:3:3",
"type": ""
}
],
"src": "9258:305:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9611:143:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9621:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9644:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9626:17:3"
},
"nodeType": "YulFunctionCall",
"src": "9626:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9621:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9655:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9678:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9660:17:3"
},
"nodeType": "YulFunctionCall",
"src": "9660:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9655:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9702:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "9704:16:3"
},
"nodeType": "YulFunctionCall",
"src": "9704:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "9704:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9699:1:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9692:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9692:9:3"
},
"nodeType": "YulIf",
"src": "9689:2:3"
},
{
"nodeType": "YulAssignment",
"src": "9734:14:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9743:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9746:1:3"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "9739:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9739:9:3"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "9734:1:3"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "9600:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "9603:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "9609:1:3",
"type": ""
}
],
"src": "9569:185:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9808:300:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9818:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9841:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9823:17:3"
},
"nodeType": "YulFunctionCall",
"src": "9823:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9818:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9852:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9875:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9857:17:3"
},
"nodeType": "YulFunctionCall",
"src": "9857:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9852:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10050:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "10052:16:3"
},
"nodeType": "YulFunctionCall",
"src": "10052:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "10052:18:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9962:1:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9955:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9955:9:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9948:6:3"
},
"nodeType": "YulFunctionCall",
"src": "9948:17:3"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9970:1:3"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9977:66:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10045:1:3"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "9973:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9973:74:3"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9967:2:3"
},
"nodeType": "YulFunctionCall",
"src": "9967:81:3"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9944:3:3"
},
"nodeType": "YulFunctionCall",
"src": "9944:105:3"
},
"nodeType": "YulIf",
"src": "9941:2:3"
},
{
"nodeType": "YulAssignment",
"src": "10082:20:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10097:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10100:1:3"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "10093:3:3"
},
"nodeType": "YulFunctionCall",
"src": "10093:9:3"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "10082:7:3"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "9791:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "9794:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "9800:7:3",
"type": ""
}
],
"src": "9760:348:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10159:146:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10169:25:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10192:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "10174:17:3"
},
"nodeType": "YulFunctionCall",
"src": "10174:20:3"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10169:1:3"
}
]
},
{
"nodeType": "YulAssignment",
"src": "10203:25:3",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10226:1:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "10208:17:3"
},
"nodeType": "YulFunctionCall",
"src": "10208:20:3"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10203:1:3"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10250:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "10252:16:3"
},
"nodeType": "YulFunctionCall",
"src": "10252:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "10252:18:3"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10244:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10247:1:3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "10241:2:3"
},
"nodeType": "YulFunctionCall",
"src": "10241:8:3"
},
"nodeType": "YulIf",
"src": "10238:2:3"
},
{
"nodeType": "YulAssignment",
"src": "10282:17:3",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "10294:1:3"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "10297:1:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10290:3:3"
},
"nodeType": "YulFunctionCall",
"src": "10290:9:3"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "10282:4:3"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "10145:1:3",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "10148:1:3",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "10154:4:3",
"type": ""
}
],
"src": "10114:191:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10356:51:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10366:35:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10395:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "10377:17:3"
},
"nodeType": "YulFunctionCall",
"src": "10377:24:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "10366:7:3"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10338:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "10348
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment